التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
درس سريع - التعامل مع الآسكي Ascii
#1
كاتب الموضوع : أحمد جمال


ما هو
Ascii ؟

هو اختصار لـ American Standerd Code for Information Interchange أو الشفرة الأمريكية القياسية لتبادل المعلومات .

وهي رموز تقابل الأحرف الهجائية والرموز والأرقام وغير ذلك ، فنجد أن 65 في Ascii تمثل حرف a و 66 تمثل b وذلك حتى z ، كما تبدأ الأحرف A من رقم 92 ، أما الأرقام فهي بين 49 للصفر و 58 للتسعة .
ويشكل هذا النظام أسلوب قياسي للترميز بين منتجي ومشغلي نظم الحاسب ، وحتى لا يحصل تعارض بين ما ينقل بين النظم المختلفة .


وفي فيجوال بيسك ، يقنص الحدث KeyPress الزر المضغوط من الكيبورد ويعطيه لك في متغير اسمه KeyAscii يحتوي على الرمز المقابل للزر المضغوط ، وذلك في كل الأدوات التي تحتوي على مثل هذا الحدث Event .

وسنستغل هذا الموضوع لتطبيق حقل لا يقبل إلا أرقاماً فقط - حقل العمر مثلاً - .

هنا سوف نعتمد على حدث Key_Press ، فعندما تكون الازرار المضغوطة أرقام فهذا يعطينا من 49 للصفر وحتى 58 للتسعة ، لذا سوف نتأكد من أن هذا المتغير يحتوي على قيمة بينهما ، وذلك بالشكل التالي :

كود :
If KeyAscii < 48 Or KeyAscii > 59 Then
في حالة تحقق هذا الشرط فهذا معناه ان الزر المضغوط ليس برقم لذا فينبغي اصدار صوت تحذيري عن طريق الأمر Beep .
الخطوة الثانية هي حذف آخر الحروف ادخالاً .


بذلك يصبح الكود :

كود :
If KeyAscii < 48 Or KeyAscii > 59 Then
Beep
KeyAscii = 0
End If

حيث أن 0 ترمز لـ NULL .

والآن لا تنس النقاط التالية :
* لا تنس أن بعض الحقول الرقمية لا بد أن تقبل الفاصلة .
* لا تنس أيضاً أن المستخدم قد يحتاج إلى لصق النص باستخدام
Ctrl+V لكنك لن تمكنه من ذلك . وفي المقابل قد يكتب المستخدم نصاً يحتوي على حروف في مكان ما وينسخه ليقوم بلصقه من خلال القائمة في برنامجك ، ولن يستطيع برنامجك المسكين منعه مما يريد .


لحل المشكلة الأولى نستثني الرقم المقابل للفاصلة في Ascii ، ولكن لا تنس أنه ليس بالامكان اضافة أكثر من فاصلة .

لحل المشكلة الثانية قم باضافة حدث التأكد في الحدث Change والذي ينطلق في حالة تغير محتوى مربع النص .

والله الموفق ..
والسلام عليكم ورحمة الله وبركاته .
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
درس سريع - التعامل مع الآسكي Ascii - بواسطة Raggi Tech - 14-10-12, 02:21 PM


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


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