منع المستخدم من أدخال حروف أو أرقام ضمن edit
#1
السلام عليكم ورحمة الله وبركاته
--------------------
[صورة: jpV98638.jpg]
1 : لوضع مؤشر الكتابة في Edit1 عند فتح الفورم
نضع الكود التالي في FormShow
كود :
edit1.SetFocus;

2 : عندما أريـد منع المستخدم من إدخال أرقام في edit
نضع الكود التالي في حدث onkeyPress لعنصر edit2
كود :
if Key = #13 then begin Key := #0; end; if (key in ['0'..'9', '-', '_', '=', '\', '|', '/', '*', '-', '+', '.', #13]) then key := #0;

3 : عندما أريـد منع مستخدم البرنامج من أدخال أحرف في edit
نضع الكود التالي في حدث onkeyPress لعنصر edit3
كود :
if Key = #13 then begin Key := #0; end; if not (key in ['0'..'9', #8, #13]) then key := #0;

ملاحظة : حبيت أضيف معلومة واذا يوجد نقد فـأرجـو التعليق


الملفات المرفقة
.rar   الصورة.rar (الحجم : 18.68 ك ب / التحميلات : 336)
قاطعوا البضائع الأمريكية والدنمركية لنصرة قضية شعبنا المضطهد
الرد
#2
السلام عليكم أخي
في بادئ الأمر حسبته سؤالا ، لكنك أخي قدمت لنا معلومات حول إتاحة أو منع إدخال حروف أو رموز أو أرقام ، طيب :
ما فائدة أو لزوم كتابة هذا الكود؟
كود :
if Key = #13 then begin Key := #0; end;
الرد
#3
وعليكم السلام ورحمة الله وبركاته
إقتباس :ما فائدة أو لزوم كتابة هذا الكود؟
هذا يستخدمه البعض لإيقاف الـ Beep المزعج الذي يصدره W!nd0ws
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#4
السلام عليكم ورحمة الله وبركاته

لقد سبقني بجواب الأخ kachwahed

أخي نبيل عندما أمنع المستخدم من كتابة الأحرف مثلا ً في عنصر ال edit3
دون هذا الكود

كود :
if Key = #13 then begin Key := #0; end;

سوف يظهر صوت خظأ beep عند الإدخال الأحرف

والسلام
قاطعوا البضائع الأمريكية والدنمركية لنصرة قضية شعبنا المضطهد
الرد
#5
نعم يا أصدقاء ، أعرف ذلك ، لكنني قصدت عدم الحاجة إليه أصلا لأنني لم أنتبه هنــا :

كود :
if Key = #13 then begin Key := #0; end; if not (key in ['0'..'9', #8, #13]) then key := #0;

هنــا يوجد شرطين يحتوي كلاهما على زر الإدخــال (Enter) (#13) ، ضننت أن هناك تكرار في ذكره ، وعليه يمكن الإستغناء عن الشرط الأول ، لكنني كنت مخطئ يعني سواء تم ضغط زر انتر أو لا فإن :
كود :
Key:=#0

بالتوفيق .
الرد
#6
إقتباس :هذا يستخدمه البعض لإيقاف الـ Beep المزعج الذي يصدره W!nd0ws

هممم, برأيّي ان صوت ال Beep ممتع
لأنه ينبه المستخدم على خلل ما, :crazy:

بارك الله لكم اخي الكريم ابو غضب,
بالتوفيق,
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#7
السلام عليكم
للإضافة فقط أنا أستعمل دلفي 2010 وفيه خاصية منع كتابة الحروف وأن لايقبل إلا الأرقام في edit ولا أدري إن كانت في غيره من النسخ السابقة موجودة أم لا وذلك من خلال تعيين الـ edit ثم تغيير الخصية numbersonly إلى true. وبهذا تستغني عن كتابة الكود.
بالتوفيق.
الرد
#8
إقتباس :ولا أدري إن كانت في غيره من النسخ السابقة موجودة أم لا
كلا، في الإصدارات السابقة يمكن استخدام api تؤدي ذلك (موجود مثال في المنتدى)
الرد
#9
نعم هذا فقط ينطبق على الادخال اليدوي

كيف يمكن منع ذلك عن طريق
Paste من الجهاز مباشرة راح يقبل الادخال

انا استخدم اللقص الالي عبر التايمر Edit1.PasteFromClipboard;
في مشروعي كيف امنع ذلك


مرفق محاولة ....


الملفات المرفقة
.rar   test_no paste.rar (الحجم : 166.19 ك ب / التحميلات : 108)
الرد
#10
هناك أكثر من طريقة لمنع ذلك أبسطها منع المفاتيح Ctrl+v
كود :
http://delphi.about.com/od/delphitips2007/qt/disable_ctrl_v.htm
ﻻ تنسى أيضا Shift+Insert التي من زمان... Smile
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم