![]() |
|
كيفية إجبار مكون edit على قبول space و del - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيفية إجبار مكون edit على قبول space و del (/showthread.php?tid=5459) |
كيفية إجبار مكون edit على قبول space و del - you_per7 - 13-08-2013 السلام عليكم كود : ;if not (Key in ['a'..'z','0'..'9','''',#8, #13]) then Key:=#0أود جعل الأداة تقبل space و del كما أود الحصول على قائمة بهذه الرموز و وظائفها #8, #13 كيفية إجبار مكون edit على قبول space و del - Najy Ibraheem - 13-08-2013 السلام عليكم... أولاً العلامة الرقمية # يتبعها عدد هي طريقة دلفي لكتابة الرموز باستعمال أرقامها في جدول آسكي (ASCII Table). و هي مفيدة خاصةً في التعبير عن الرموز غير المكتوبة (غير القابلة للكتابة أو ما يسمى برموز التحكم - Control characters، و هي الرموز التي تحتل الأرقام من 0 إلى 31 في جدول آسكي) مثل: كود : #8 = BackSpace
#9 = Tab
#13#10 = Enterكود : Label1.Caption := #65#108#105; // => Ali (#65 = A, #108 = l, #105 = i)ثانياً بالنسبة إلى الكود المطلوب، استعمل الطريقة التالية حيث يمكنك وضع أية رموز تريد استثناءها (السماح بكتابتها) الكود يوضع طبعاً في الحدث OnKeyPress للمكون TEdit أو ما يشبهه: كود : if Key > #31 then begin
if not (Key in ['a'..'z', 'A'..'Z', '0'..'9', ' ']) then
Key := #0;
end;الكود السابق يسمح بكتابة الحروف اللاتينية من a إلى z (صغيرة أو كبيرة) و الأرقام و الفراغ (لاحظ أن علامتي التنصيص أو الاقتباس الأخيرتين تحتويان بينهما فراغا و ليستا ملتصقتين). لاحظ أن جملة if الأولى ستستثني رموز التحكم (التي أرقامها من 0 إلى 31) أي أنها ستسمح بمفتاح المسح الخلفي (BackSpace) و مفتاح الحذف (Delete) و مفتاح الإدخال (Enter) و مفتاح الجدولة (Tab) و غيرها. أخيراً، إذا أردت السماح بكتابة علامة التنصيص أو الاقتباس الفردية ( ' ) فإنه يجب مضاعفتها لأنها تستعمل لحصر الرموز، أو أن تستعمل رقمها في جدول آسكي: كود : ''' // خطأ
'''' // صحيح
#39 // صحيحكود : if Key > #31 then begin
if not (Key in ['a'..'z', 'A'..'Z', '0'..'9', ' ', #39]) then
Key := #0;
end;* للحصول على جدول ASCII ابحث في Google و ستجد آلاف النتائج. نرجو الاستفادة و السلام. كيفية إجبار مكون edit على قبول space و del - you_per7 - 13-08-2013 شكرا جزيلا أخي Najy Ibraheem ....إجابتك كافية و وافية...جعلها الله في ميزان حسناتك... |