المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
19-09-13, 10:22 PM
(آخر تعديل لهذه المشاركة : 19-09-13, 10:29 PM {2} بواسطة ناجي إبراهيم.)
السلام عليكم...
أ. كود قبول أعداد صحيحة فقط - نضع الكود التالي في الحدث 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
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 513
المواضيع 2
الإنتساب : Sep 2013
السمعة :
16
الشكر: 245
تم شكره 445 مرات في 172 مشاركات
السلام عليكم
- يعطيك العافيه أخي ناجي ، جزاك الله خير ، أسعدني وجودك من جديد . الله يحفظ المنتدى من الخراب والإغلاقات والمشاكل لكي يستمر ونستمر معه ، والله أرتاح نفسياً عندما أتواجد فيه ، وأشوفك وأمثالك المبدعين .
- تحياتي لك وتمنياتي لك بالتوفيق والنجاح والسعادة .
كود :
For each Breathe in MyLife
Breathe.Say " سبحان الله والحمد لله ولا إله إلا الله والله أكبر أستغر الله العظيم وأتوب إليه"
Next
المشاركات : 12
المواضيع 2
الإنتساب : Oct 2013
السمعة :
0
الشكر: 23
تم شكره 46 مرات في 7 مشاركات
جزاك الله خير على الاكواد المفيدة
أفدتني بمثلها وبالتوفيق
المشاركات : 49
المواضيع 11
الإنتساب : Jan 2014
السمعة :
0
الشكر: 0
تم شكره 88 مرات في 13 مشاركات
شكرا جزيلا
كود جميل بالفعل
ولا شك ان المبرمج يحتاجه
ارجو شرح الكود اذا امكن
ما معنى الاتي
KeyAscii > 31
KeyAscii < 48
KeyAscii > 57
وما فائدة اعطاء ارقام للحروف في KeyAscii
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
يوجد جدول يسمى جدول رموز آسكي (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 على صفر، و هذا يؤدي إلى رفض الرمز، أي عدم قبوله و عدم كتابته.
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 49
المواضيع 11
الإنتساب : Jan 2014
السمعة :
0
الشكر: 0
تم شكره 88 مرات في 13 مشاركات
مشكور اخى ناجي على هذا الشرح القيم
بارك الله فيك
المشاركات : 190
المواضيع 17
الإنتساب : Apr 2014
السمعة :
0
الشكر: 63
تم شكره 98 مرات في 80 مشاركات
مبدع اخى ناجى
ولكن مشاركاتك قليله الان
اسئل الله عز وجل لك دوام الصحة وسعة الرزق وان تكون بخير