تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قبول الأعداد فقط
#1
السلام عليكم...


أ. كود قبول أعداد صحيحة فقط - نضع الكود التالي في الحدث KeyPress لمربع النص:
كود :
   If KeyAscii > 31 Then
       If (KeyAscii < 48) Or (KeyAscii > 57) Then
           KeyAscii = 0
       End If
   End If

ب. كود قبول أعداد حقيقية (بالفاصلة) - نضع الكود التالي في الحدث KeyPress لمربع النص:
كود :
   If KeyAscii > 31 Then
       If Chr$(KeyAscii) = "." Then
           If InStr(Text1.Text, ".") <> 0 Then
               If Text1.SelLength > 0 Then
                   If InStr(Text1.SelText, ".") = 0 Then
                       KeyAscii = 0
                   End If
               Else
                   KeyAscii = 0
               End If
           End If
       ElseIf InStr("0123456789", Chr$(KeyAscii)) = 0 Then
           KeyAscii = 0
       End If
   End If

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: VB_Coder , mohammed moh , Sajad , baderb14 , الاصيله , king2512010
#2
السلام عليكم

- يعطيك العافيه أخي ناجي ، جزاك الله خير ، أسعدني وجودك من جديد . الله يحفظ المنتدى من الخراب والإغلاقات والمشاكل لكي يستمر ونستمر معه ، والله أرتاح نفسياً عندما أتواجد فيه ، وأشوفك وأمثالك المبدعين .

- تحياتي لك وتمنياتي لك بالتوفيق والنجاح والسعادة .
كود :
For each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
الرد }}}
تم الشكر بواسطة: Sajad , baderb14
#3
جزاك الله خير على الاكواد المفيدة
أفدتني بمثلها وبالتوفيق
الرد }}}
تم الشكر بواسطة:
#4
شكرا جزيلا
كود جميل بالفعل
ولا شك ان المبرمج يحتاجه
ارجو شرح الكود اذا امكن
ما معنى الاتي
KeyAscii > 31
KeyAscii < 48
KeyAscii > 57
وما فائدة اعطاء ارقام للحروف في KeyAscii
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم...

يوجد جدول يسمى جدول رموز آسكي (ASCII Code Table) الذي يحتوي على رموز الكتابة (characters) التي تشمل الحروف و الأرقام و بقية الرموز الكتابية الأخرى مثل + و * و @ ... إلخ.

قبل ظهور ما يعرف بترميز الـ Unicode كان كل رمز تمثله بايت واحدة، و لذلك فإن جدول رموز آسكي يضم 256 رمزاً (حجم البايت) مرقمة من 0 إلى 255. النصف الأول من الجدول (0 - 127) يضم رموز التحكم و حروف اللغة الإنجليزية الكبيرة و الصغيرة و الأرقام من 0 إلى 9 و العديد من رموز الكتابة الأخرى (& % ? } - = ... إلخ). و النصف الثاني يستعمل لحروف اللغات الأخرى غير الإنجليزية (العربية، الفرنسية، ... إلخ) بالإضافة إلى رموز موسعة أخرى.

مثلاً الحرف a رقمه في الجدول 97 و الحرف A رقمه 65 و الحرف F رقمه 70 ... إلخ. ذلك يعني أنه عندما نضغط مفتاح الحرف A فإن لوحة المفاتيح ترسل العدد 65 إلى نظام التشغيل، الذي بدوره يرسله إلى برنامجنا عبر إجراء الحدث KeyPress (أي الإجراء الذي يتم استدعاؤه عند ضغط مفتاح).

في جدول آسكي، الرموز من 0 إلى 31 هي رموز تحكم (Control Characters) أي ليس لها صورة كتابية و لكنها تؤدي وظيفة ما. مثلاً الرقم 8 هو رقم المفتاح BackSpace. أي عندما نضغط المفتاح BackSpace فإن برنامجنا يستقبل الرقم 8 كرمز لذلك المفتاح المضغوط. أيضاً الرقم 9 هو رقم المفتاح Tab. أما ضغط المفتاح Enter فيؤدي إلى إرسال قيمتين متتاليتين: 13 (يسمى Carriage Return أو CR) ثم 10 (يسمى LineFeed أو LF)، و لهذا نجد رمز المفتاح Enter في VB هو vbCrLf.

الأرقام (0 - 9) تحتل في الجدول المواقع من 48 (للصفر) إلى 57 (للتسعة).

في إجراء الحدث KeyPress يمثل البارامتر KeyAscii قيمة آسكي للمفتاح المضغوط. و لهذا في الكود السابق ننظر إذا كان المفتاح المضغوط هو أحد مفاتيح رموز التحكم فلا يهمنا أمره (بل نحن نحتاج بعضها مثل المفتاح BackSpace للمسح). ثم نختبر ما إذا كانت قيمة آسكي للمفتاح المضغوط خارج نطاق القيم المخصصة للأرقام (أي من آسكي 48 إلى آسكي 57). إذا كانت قيمة آسكي خارج هذا النطاق المخصص للأرقام فإننا نضبط قيمة البارامتر KeyAscii على صفر، و هذا يؤدي إلى رفض الرمز، أي عدم قبوله و عدم كتابته.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
#6
مشكور اخى ناجي على هذا الشرح القيم
بارك الله فيك
الرد }}}
تم الشكر بواسطة:
#7
مبدع اخى ناجى

ولكن مشاركاتك قليله الان

اسئل الله عز وجل لك دوام الصحة وسعة الرزق وان تكون بخير
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  قبول حروف عربية فقط (مع إضافة خيارات) ناجي إبراهيم 6 5,550 20-03-18, 05:02 PM
آخر رد: tichouckt

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


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