Diable کردن BackSpace برای حروفی خاص

***UNIQUE***

Active Member
سلام
من چطوری میتونم تو یه فرمت text کاری کنم که کارکترهایی که با رنگ قرمز هستن در اون TextBox قابل پاک شدن نباشند و یا به عبارتی کلید های BackSpace و delete برای یه سری کاراکترهای خاص کار نکنه و غیرفعال باشه؟
 

amir_s

Active Member
متاسفانه کلیدهای BackSpace و Delete کد اسکی ندارن ! فکر نمیکنم بشه !
 

overcrash

Active Member
(با اجازه امیرآقای گل)
فعلا چیزی که به ذهنم میرسه استفاده از تابع
کد:
on(keypress "Backspace")
هست.
الان خوابم میاد فردا اگه شد بیشتر توضیح میدم (البته اگه خودت پیداش نکردی تا اونوقت ;) )
شب بخیر
 
آخرین ویرایش:

fafa^mx

Member
yeh joorayi nashodani ya sakht be nazar miad keh alan sa2 8 sobh hesesh nist behesh fekr konam vali!codi keh mikhay yeh chizi shabh be ineh !faghat bayad bahash var beram ta dorost sheh !akheh mojel injast keh man nemitoonam place cursor ro bad az zadaneh backspace bekhoonam :

var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.isDown(Key.BACKSPACE)) {
a=1
a1 = ifd.text
a2 = a1.slice(a1.length-(a+1),a1.length-(a-1))
a3 = a2.slice(a2.length-1,a2.length)
trace(a3)
if (a3=="d"){
ifd.text = a1+"d"
a ++
}
}
};
Key.addListener(keyListener);
 

***UNIQUE***

Active Member
از راهنمایی همه شما ممنونم
ولی هنوز به نتیجه نرسیدم .ممنون میشم کمک کنید.
راستی امیر آقا :
---------------------------------------------------------------------------------------
متاسفانه کلیدهای BackSpace و Delete کد اسکی ندارن ! فکر نمیکنم بشه !
--------------------------------------------------------------------------------------
چرا این کلید ها هم کد اسکی دارند شما این کد رو تست کنید با فشرن کلید کد اسکش اونها رو بهتون میده
کد:
global.i = 0;
var keyListener:Object = new Object();
keyListener.onKeyUp = function() {
	i++;
	trace(i.toString());
	if(Key.getCode() == Key.BACKSPACE)
	{
		trace("\tThe ASCII value is: "+Key.getAscii());
	}
  	trace("For the last key typed:");
  	trace("\tThe Key code is: "+Key.getCode());
	trace("\tThe ASCII value is: "+Key.getAscii());
  	
  	trace("");
};
Key.addListener(keyListener);
باز هم از توجهتون ممنونم
موفق باشید
 

***UNIQUE***

Active Member
بزارید سوالم رو ساده تر مطرح کنم
شما اگه بخواید یه کلید از کیبورد رو disable کنید که وقتی فشرده میشه هیچ اتفاقی نیفه ازچه کدی استفاده می کنید من برای diasble کردن کلید BackSapece دستور زیر رو نوشتم اما باز هم کلید BackSpace کار کرد
کد:
Key.BACKSPACE.Enabld = false;
ممنون میشم راهنمایی کنید
 

Security9776

Active Member
سلام ،
اگه برای اون فایلی که متن ها رو تصحیح می کرد این فایل رو لازم دارید ، فکر کنم مشکلتون با اون فایلی که فرستادم حل شده باشه . ولی اگر بخواهید این کار رو بکنید شما باید یک لیستنر برای دکمه backSpace ایجاد کنید و وقتی که این کلید فشرده شد چک کنید که آیا اون کارکتری که قراره پاک بشه با کارکتر همسان خودش در متن اصلی یکسان هست یا نه . اگر یکسان نبود که هیچ وگرنه دوباره اون حرف رو به همون مکان اضافه کنید !
امیدوارم که متوجه شده باشید ( چون خودم هم متوجه نشدم !!! )

موفق و سربلند باشید ، محسن
 

***UNIQUE***

Active Member
بله برای همون میخوام .
ولی چه بد یعنی نمیشه قبل از اینکه یه حرف رو پاک کنه جلوی عملکردش رو گرفت .یعنی باید وقتی پاک کرد بررسی بشه و دوباره نوشته بشه !!
من تست میکنم.
مرسی از پاسختون :)
 

Security9776

Active Member
درسته . البته این برسی عملکرد و انجامش اصلا دیده نمی شه چون خیلی سریع اتفاق می افته .
 

fafa^mx

Member
oon codi keh gozashtam hamin karo anjam mideh ;)!ama ye chizish kameh!oonam ghodrateh flash dar khoondaneh jayeh cursor.
 

fafa^mx

Member
bia inam codi keh mikhay!100% Works.yeh textfield bezar too safeh esmesham bezar ifd :

a=1
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if (Key.isDown(Key.BACKSPACE)) {

a1 = ifd.text
a2 = a1.slice(a1.length-(a+1),a1.length-(a-1))
a3 = a2.slice(a2.length-1,a2.length)
trace(a3)
if (a3=="d"){
ifd.text = a1+"d"
a ++
}
}
};
Key.addListener(keyListener);
 

fafa^mx

Member
asarateh kam khabi ineh keh adam too har bar run shodaneh functionesh variable ro dobareh mosavieh 1 gharar mideh!!!mageh majboori 8 sobh javab bedi!
 

***UNIQUE***

Active Member
من از کد شما اصلا" سر در نیاوردم .:-? :sad:
وقتی من این رو تو یه فایل تست میکنم BackSpace کار میکنه. :neutral:
ببخشید ولی میتونم خواهش کنم یه نمونه فایل fla برای این مورد برام بذارید
بسیار ممنونم :)
 
آخرین ویرایش:

amir_s

Active Member
راستی امیر آقا :
---------------------------------------------------------------------------------------
متاسفانه کلیدهای BackSpace و Delete کد اسکی ندارن ! فکر نمیکنم بشه !
--------------------------------------------------------------------------------------
چرا این کلید ها هم کد اسکی دارند شما این کد رو تست کنید با فشرن کلید کد اسکش اونها رو بهتون میده

ممنون ! نمیدونستم ! ولی کدی که شما دادی کار نمی کرد ... !!!!!
 

amir_s

Active Member
بله ! برای مثال ... شما بیاید وسط نوشته چند تا D اضافه کنید ... یا مثلا حالتی پیش میاد که با فشردن کلید D اون فیلد پر از D میشه !
 

fafa^mx

Member
ageh yeh chand khat balataro mikhoondi goftam in zafeh flasheh keh nemitooneh jayeh cursor ro peyda koneh! darzemn man bikar nistam keh biam beshinam koleh codiro keh khastan benevisam ;)!in do kariam keh shoma migi faghat kafieh meghdareh moteghayreh a dar har halat taghir koneh ta be rahati javab bedeh!kasi keh flash kar mikoneh bayad digeh in chizaro balad basheh!albateh ageh flash kar koneh
 

***UNIQUE***

Active Member
خواهش میکنم :)
----------------------------------------
ممنون ! نمیدونستم ! ولی کدی که شما دادی کار نمی کرد ... !!!!!
----------------------------------------
کار نمیکرد!!!
ولی من قبل از اینکه به شما بدم خودم باهاش کرده بود!
 

جدیدترین ارسال ها

بالا