![]() |
|
اريد كتابة ارقام فقط في الخلية -ما العمل ؟ - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : اريد كتابة ارقام فقط في الخلية -ما العمل ؟ (/showthread.php?tid=36338) |
اريد كتابة ارقام فقط في الخلية -ما العمل ؟ - khaled Mohammed - 08-09-20 السلام عليكم ورحمة الله و بركاته ازاي اجعل الخلية المحدد تسجيل بها ارقام لا تقبل تسجيل الاحرف لكي لا يحدث خطأ فى البرنامج RE: سؤال ؟ - Anas Mahmoud - 08-09-20 في حدث 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 DoubleRE: سؤال ؟ - khaled Mohammed - 08-09-20 مشكور استاذنا جزاك الله كل خير RE: سؤال ؟ - عبد الهادي بهاب - 11-09-20 (08-09-20, 09:02 PM)Anas Mahmoud كتب : واذا اردت ان تسمح بالنقطة العشرية :ما الفرق بينها و بين PHP كود : e.Handled = Not IsNumeric(e.KeyChar) And e.KeyChar <> "."c يا استاذ ما دلالة Parse RE: سؤال ؟ - Anas Mahmoud - 11-09-20 (11-09-20, 02:14 AM)عبد الهادي بهاب كتب :(08-09-20, 09:02 PM)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 RE: سؤال ؟ - عبد الهادي بهاب - 11-09-20 (11-09-20, 08:05 AM)Anas Mahmoud كتب : IsNumeric تعيد قيمة True اذا كان التعبير النصي المدخل يمثل رقم بمعني تقبل string كامل "22.54" مثلا عاجز عن الشكر استاذ ربي يجاززيك خيرا ان شاء الله نحسن استخدمها في قابل المشاريع |