تقييم الموضوع :
  • 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 والذي ينطلق في حالة تغير محتوى مربع النص .

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية التعامل مع دوال الوقت و التاريخ و كيفية تنسيقهما فى الفجوال بيسك 6 the viper 6 1,894 15-06-13, 08:17 PM
آخر رد: husain1980
  درس سريع - اللغة العربية في فيجوال بيسك RaggiTech 0 1,094 14-10-12, 02:19 PM
آخر رد: RaggiTech
  درس سريع - للمبتدئين التعامل مع App.path لتثبيت المسار RaggiTech 1 863 14-10-12, 02:18 PM
آخر رد: RaggiTech
  فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الثالث والرابع RaggiTech 1 2,188 14-10-12, 02:11 PM
آخر رد: RaggiTech
  فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الأول والثاني RaggiTech 1 3,663 14-10-12, 02:06 PM
آخر رد: RaggiTech
  التعامل مع AutoCad بالفجوال بيسيك 6 mamas1 0 421 16-09-12, 09:55 PM
آخر رد: mamas1

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


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