تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس العشرين - اضافة آلة حاسبة للبرنامج
#2
استقبال أرقام من لوحة المفاتيح .

سنضبط أولاً خاصية KeyPreview للفورم بحيث تصبح True وبهذا أي ضغطة على الكيبورد في هذا الفورم يحس بها حدث Key_Press لهذا الفورم .

والآن نعرف أن حدث Key_Press يستقبل متغيراً هو كود آسكي Ascii للزر المضغوط ، ومن خلال ذلك نستطيع أن نضغط على الزر المقابل لها .
فمثلاً الرقم 48 يعني الصفر ، من أجل ذك سنضغط على Command1(0) بالشكل التالي :


كود :
[align=right]Command1(0).Value = True[/align]
وكذلك مع باقي الأرقام والتي تأخذ أرقاماً من 48 وحتى 57 ، أي الرقم + 48 .
ومن العلاقة السابقة نستطيع أن نكتب الكود التالي في حدث Key_Press :


كود :
[align=right]If KeyAscii < 58 And KeyAscii >= 48 Then
Command1(KeyAscii - 48).Value = True[/align]
والآن نكمل بمزيد من التخصيص ، فـ 46 تعني الفاصلة ، 42و43و45و47 العمليات الأربع ، 27 زر Esc والذي سنجعله يرمز لـ C في الآلة ، أيضاً 13 يرمز لـ Enter والذي سيكون = .
من أجل ذلك نكتب الكود التالي :


كود :
[align=right]ElseIf KeyAscii = 46 Then
Command1(10).Value = True
ElseIf KeyAscii = 13 Then
Command4.Value = True
ElseIf KeyAscii = 42 Then
Command3(2).Value = True
ElseIf KeyAscii = 43 Then
Command3(0).Value = True
ElseIf KeyAscii = 45 Then
Command3(1).Value = True
ElseIf KeyAscii = 47 Then
Command3(3).Value = True
ElseIf KeyAscii = 27 Then
Command5(1).Value = True[/align]

وأخيراً 8 ترمز لـ BackSpace . وسنستخدم لذلك دالة Left والتي ستقتص نصاً من اليسار بطول النص - 1 ، وذلك بالشكل التالي :


كود :
[align=right]ElseIf KeyAscii = 8 Then
If Len(Text1.Text) <> 0 Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)[/align]
بهذا تكون آلتنا جاهزة لاستقبال الأرقام من لوحة المفاتيح .



والملف مرفق الآن بعد التعديلات الأخيرة ...


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



الملفات المرفقة
.zip   prog16.zip (الحجم : 187.52 ك ب / التحميلات : 156)
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس العشرين - اضافة آلة حاسبة للبرنامج - بواسطة Raggi Tech - 15-10-12, 08:23 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الرابع والثلاثون والأخير - نبذة عن العملية العكسية + تجهيز البرنامج على Cd RaggiTech 0 13,810 15-10-12, 09:10 AM
آخر رد: RaggiTech
  الدرس الثالث والثلاثون - كيفية عمل اعداد Setup للبرنامج RaggiTech 0 4,304 15-10-12, 09:08 AM
آخر رد: RaggiTech
  الدرس الثاني والثلاثون - التحويل إلى exe RaggiTech 0 4,338 15-10-12, 09:07 AM
آخر رد: RaggiTech
  الدرس الحادي والثلاثون - تعددية المستخدمين - البحث وطباعة الفواتير - التعليمات ... RaggiTech 2 5,302 15-10-12, 09:05 AM
آخر رد: RaggiTech
  الدرس الثلاثون - التعامل مع شريط الأدوات ToolBar RaggiTech 0 4,185 15-10-12, 08:59 AM
آخر رد: RaggiTech
  الدرس التاسع والعشرون - التعامل مع أشرطة الحالة Statues Bar RaggiTech 0 3,880 15-10-12, 08:57 AM
آخر رد: RaggiTech
  الدرس الثامن والعشرون -الطباعة في البرنامج . RaggiTech 4 5,767 15-10-12, 08:56 AM
آخر رد: RaggiTech
  الدرس السابع والعشرون - مقدمة إلى التعامل مع التقارير من خلال DataReport RaggiTech 2 6,598 15-10-12, 08:45 AM
آخر رد: RaggiTech
  الدرس السادس والعشرون - التقارير اليومية ، والتقارير بين تاريخين RaggiTech 1 4,725 15-10-12, 08:39 AM
آخر رد: RaggiTech
  الدرس الخامس والعشرون - الإحصائيات والرسوم البيانية RaggiTech 0 4,037 15-10-12, 08:37 AM
آخر رد: RaggiTech

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


يقوم بقرائة الموضوع: