تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد كتابة ارقام فقط في الخلية -ما العمل ؟
#1
السلام عليكم ورحمة الله و بركاته

ازاي اجعل الخلية المحدد تسجيل بها ارقام لا تقبل تسجيل الاحرف لكي لا يحدث خطأ فى البرنامج
الرد }}}
تم الشكر بواسطة: حريف برمجة
#2
في حدث KeyPress لمربع النص ضع الكود التالي :

للارقام فقط:

كود :
e.Handled = Not Char.IsControl(e.KeyChar) And Not Char.IsDigit(e.KeyChar)

واذا اردت ان تسمح بالنقطة العشرية :

كود :
       e.Handled = Not Char.IsControl(e.KeyChar) And Not Char.IsDigit(e.KeyChar) And e.KeyChar <> "."c

وانصحك باستخدام TryParse بدلا من parse للحصول على القيمة الرقمية من القيمة النصية ، لانها تتيح التحقق من ان المدخل صالح بهذه الطريقة :

كود :
       Dim salary As Double
       If Double.TryParse(TextBox2.Text, salary) = False Then
           MsgBox("من فضلك ادخل قيمة صحيحة")
           Return
       End If
الرد }}}
#3
مشكور استاذنا
جزاك الله كل خير
الرد }}}
تم الشكر بواسطة: حريف برمجة
#4
(08-09-20, 09:02 PM)Anas Mahmoud كتب : واذا اردت ان تسمح بالنقطة العشرية :

كود :
       e.Handled = Not Char.IsControl(e.KeyChar) And Not Char.IsDigit(e.KeyChar) And e.KeyChar <> "."c

ما الفرق بينها و بين 
PHP كود :
e.Handled Not IsNumeric(e.KeyChar) And e.KeyChar <> "."

يا استاذ ما دلالة Parse
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: Anas Mahmoud , حريف برمجة
#5
(11-09-20, 02:14 AM)عبد الهادي بهاب كتب :
(08-09-20, 09:02 PM)Anas Mahmoud كتب : واذا اردت ان تسمح بالنقطة العشرية :

كود :
       e.Handled = Not Char.IsControl(e.KeyChar) And Not Char.IsDigit(e.KeyChar) And e.KeyChar <> "."c

ما الفرق بينها و بين 
PHP كود :
e.Handled Not IsNumeric(e.KeyChar) And e.KeyChar <> "."

يا استاذ ما دلالة Parse

IsNumeric تعيد قيمة True اذا كان التعبير النصي المدخل يمثل رقم بمعني تقبل string كامل "22.54" مثلا

IsDigit تختبر حرف واحد فقط char وهو المطلوب في حالة KeyPress

فرق اخر هو ان IsNumeric تنتمي للفئة Microsoft.VisualBasic اي انها من ايام vb6 
بينما IsDigit تنتمي الى مجال الاسماء         System.Char اي انها من الفريم ورك

اما بالنسبة ل Char.IsControl : فهي تختبر اذا كان الحرف يمثل زر من ازرار العمليات في الكيبورد ( Ctrl - Alt - backspace - ... ) 


Parse في العموم هو تحويل اي قيمة نصية الى القيمة المناسبة لها ، وهي موجوده في كل انواع القيمة Value types ) 

        Date.Parse() تقوم بتحويل نص الى تاريخ وكذلك         Integer.Parse() تحول نص الى رقم


مشكلتها انها تقوم برمي استثناء Exception اذا كان النص غير صالح للتحويل 

الحل هو TryParse لانها تختبر اذا كان قابل للتحويل ام لا وبالتالي يمكن تفادي الexception
الرد }}}
تم الشكر بواسطة: حريف برمجة , WaeLx , WaeLx , عبد الهادي بهاب
#6
(11-09-20, 08:05 AM)Anas Mahmoud كتب : IsNumeric تعيد قيمة True اذا كان التعبير النصي المدخل يمثل رقم بمعني تقبل string كامل "22.54" مثلا

IsDigit تختبر حرف واحد فقط char وهو المطلوب في حالة KeyPress

فرق اخر هو ان IsNumeric تنتمي للفئة Microsoft.VisualBasic اي انها من ايام vb6 
بينما IsDigit تنتمي الى مجال الاسماء         System.Char اي انها من الفريم ورك

اما بالنسبة ل Char.IsControl : فهي تختبر اذا كان الحرف يمثل زر من ازرار العمليات في الكيبورد ( Ctrl - Alt - backspace - ... ) 


Parse في العموم هو تحويل اي قيمة نصية الى القيمة المناسبة لها ، وهي موجوده في كل انواع القيمة Value types ) 

        Date.Parse() تقوم بتحويل نص الى تاريخ وكذلك         Integer.Parse() تحول نص الى رقم


مشكلتها انها تقوم برمي استثناء Exception اذا كان النص غير صالح للتحويل 

الحل هو TryParse لانها تختبر اذا كان قابل للتحويل ام لا وبالتالي يمكن تفادي الexception

عاجز عن الشكر استاذ
 ربي يجاززيك خيرا
ان شاء الله نحسن استخدمها في قابل المشاريع
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}
تم الشكر بواسطة: حريف برمجة , حريف برمجة , WaeLx , Anas Mahmoud


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 80 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  ارقام فوق السطر وتحته Abo Louay 2 189 27-01-24, 11:06 PM
آخر رد: Abo Louay
  اريد طباعة الباركود المحدد فقط مع الكمية new_programer 5 430 09-01-24, 08:40 PM
آخر رد: new_programer
  اريد مساعدة في العملية الحسابية melad2002 3 406 29-12-23, 09:10 PM
آخر رد: melad2002
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,829 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  [VB.NET] اريد تعديل في الكود عند طباعة DGV abu_hisham7 1 431 03-12-23, 02:40 AM
آخر رد: abu_hisham7
  هل الداتا قراد فيو تسمح بتعدد الاسطر داخل الخلية عند جلب بيانات نصية طويله من قاعدة ب khalidalwdi 3 460 10-11-23, 11:08 AM
آخر رد: khalidalwdi
  [سؤال] اريد تغيير اسم حقل ضمن جدول بقاعدة بيانات اكسس mh66 1 358 08-11-23, 08:16 AM
آخر رد: justforit
  كيف اجعل البرنامج في بداية الشهر ينفذ حدث معين بالاصح اريد البرنامج في تاريخ واحد من Adel27213 3 484 05-11-23, 01:45 AM
آخر رد: justforit
  [VB.NET] مساعدة فى طريقة كتابة الاستعلام ZEEN4ZEEN 4 435 11-10-23, 03:33 PM
آخر رد: ZEEN4ZEEN

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


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