التساؤل لهيثم اسماعيل
السلام عليكم ورحمة الله وبركاته
سؤالي هو كيف يمكنني أن أتحكم في مدخلات ال input من حيث إلزام المستخدم من كتابة ارقام فقط أو حروف فقط أو ارقام فقط مع إستثناء حرف كذا وكذا
انا استخدم هذه الداله لمنع كتابة حروف في ال input
- الكود:
-
كود:
function InputSoloNumeros(HwndInput)
Args1 = string.format("%d,%d", HwndInput, -16)
GetWinLong = DLL.CallFunction("user32.dll", "GetWindowLongA", Args1, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Args2 = string.format("%d,%d,%d", HwndInput, -16, GetWinLong + 8192)
DLL.CallFunction("user32.dll", "SetWindowLongA", Args2, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
فأنا أحتاج مثلا أن يكتب المستخدم أرقام مع كسور يعني مثلا 5.2 فهذه العلامه (.) تعتبرها الداله حرف فترفض كتابتها
فكيف يمكننا التحكم بشكل أوسع في هذه المدخلات
شكرا
الجواب لمحمد ربيع
السلام عليكم
لادخال قيم معينة فى الانبوت مثل ارقام فقط او حروف فقط او عدد معين من الارقام و الحروف
يتم استخدام input mask
كما فى الصورة
فالرمز # يعنى رقم
و الرمز ؟ يعنى حرف
فاذا اردت ادخال قيمة مثل سيريال الويندوز يكون الماسك كالتالى
#####-#####-#####-#####-#####
و اذا اردت ان تكون قيمة و حرف
؟#؟#؟#؟#
و هكذا تستطيع ادخال اى قيم
و مثلا اذا اردت ادخال سيريال او باسوورد معين
لا يفتح البرنامج بدونه و يبدأ بكلمه معينة هى مثلا AMS
كل ما عليك هو كتابه الكلمة بحروفها ثم ادخال الماسك الذى تريده
فلا يكتب البرنامج الا هذه الحروف
اشكرك استاذ محمد ولكن حضرتك لم تفهمني جيدا ولكي تصل اليك مشكلتي
اريدك ان ان تجعل ال input لا تقبل إلا كتابة أرقام فقط بإستثناء العلامه العشريه (.) فالعلامه العشريه من ضمن الحروف وليس الأرقام .. فأريدك ان تكتب هذه الارقام كمثال
1.5 أو
22.1 أو
25487.51
دون السماح لل input ان تقبل اي حروف
رد احمد السيد
السلام عليكم ورحمه الله وبركاته
تم عمل المطلوب اخي هيثم
وتم صنع اله حاسبة بسيطة لتوضح كيفية الاستخدام
التحميل من الرابط التالي
http://dl.dropbox.com/u/28300614/request/Limited_Input_Char.apzواي استفسار عن اي جزء معين انا تحت امرك