(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 <> "."c
يا استاذ ما دلالة 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