You are on page 1of 11

‫أساسيات البرمجة‬

‫األسبوع الخامس‪ +‬السادس‬


‫األحداث الشائعة في فيجوال بيسك‬
‫يوجد مجموعة من األحداث الشائعة التي تستخدم بكثرة وهي‪:‬‬
‫• الحدث‪ :Click ‬يقع هذا الحدث عند الضغط على األداة بزر‪ -‬الماوس األيسر‪ ،‬يعتبر‬
‫الحدث‪ Click ‬من أكثر األحداث استخداما ً فهو متوفر لمعظم األداوت وأهمها زر‬
‫األوامر‪.Command Button‬‬
‫• الحدث‪ :Dblclick ‬يقع هذا الحدث عند الضغط المزدوج فوق األداة‪.‬‬
‫• الحدث‪ :KeyPress ‬يق‪-‬ع هذا الحدث عن‪-‬د الضغ‪-‬ط عل‪-‬ى مفتاح م‪-‬ا م‪-‬ن لوح‪-‬ة المفاتي‪-‬ح‪ ،‬ولمعرف‪-‬ة‬
‫المفتاح المضغوط نس‪---‬تطيع اختبار قيم‪---‬ة الوس‪---‬يط‪ KeyAscii ‬الخاص بهذا الحدث‪ ،‬حي‪---‬ث‬
‫يمثل‪ KeyAscii ‬ر‪-‬قم المفتاح المضغوط في جدول اآلسكي‪.‬‬
‫• الحدث‪ :Keydown ‬يقع هذا الحدث عندما نضغط فوق أحد أزرار لوحة المفاتيح وقبل‬
‫اإلفالت‪.‬‬
‫• الحدث‪ :KeyUp ‬وهو نفس الحدث‪ Keydown ‬تماما ً ولكنه يقع بعد إفالت المفتاح‬
‫المضغوط ‪.‬‬
‫• الحدث‪: MouseMove ‬يقع هذا الحدث عندما نقوم بتحريك مؤشر الماوس فوق النافذة‬
‫األحداث الشائعة في فيجوال بيسك‬
‫• الحدث‪ :MouseDown ‬يق‪-‬ع هذا الحدث عندم‪-‬ا يقوم المس‪-‬تخدم بالضغ‪-‬ط عل‪-‬ى النافذة بأح‪-‬د‬
‫أزرار الفأر‪-‬ة وقب‪----‬ل اإلفالت‪  ،‬وهذا الحدث يقدم أر‪-‬ب‪----‬ع وس‪----‬طاء ه‪----‬ي نفس‪----‬ها وس‪----‬طاء‬
‫الحدث‪.MouseMove ‬‬
‫• الحدث‪ :MouseUp ‬يشب‪---‬ه هذا الحدث حدث‪ MouseDown ‬ولكن‪---‬ه يق‪---‬ع عن‪---‬د إفالت زر‬
‫الماوس بعد أن يكون مضغوطا ً‪.‬‬
‫• الحدث‪ :Load ‬وه‪--‬و خاص بالنافذة فق‪--‬ط‪ ،‬ويق‪--‬ع عن‪--‬د تحمي‪--‬ل النافذة‪ ،‬أ‪--‬ي يق‪--‬م عن‪--‬د تنفي‪--‬ذ‬
‫ال‪--‬برنامج‪ .‬يس‪--‬تخدم هذا الحدث لعرض ر‪-‬س‪--‬ائل الترحي‪--‬ب‪ ،‬وتهيئ‪--‬ة المتحوالت وفت‪--‬ح الملفات‬
‫وغير ذلك‪.‬‬
‫إظهار الرسائل باستخدام األمر ‪MsgBox‬‬
‫يمكن استخدام األمر‪ MsgBox ‬إلظهار رسائل للمستخدم كرسائل التأكيد والتنبيه‪-‬‬
‫والترحيب وغير ذلك ويملك هذا األمر شكلين ‪:‬‬
‫• الشكل األول (البسيط)‪:‬‬
‫)”ا‪--‬لرسا‪--‬لة ا‪--‬لتين‪--‬ريد إ‪-‬ظه‪-‬ارها“( ‪MsgBox‬‬

‫عند تنفيذ هذا األمر سيظهر صندوق يحوي الرسالة وزر موافق مثال‪:‬‬
‫• ضع في الحدث‪ Form_Load ‬األمر التالي ‪:‬‬
‫)”أ‪-‬ه ًال ب‪--‬كم‪ -‬ف‪---‬يب‪--‬رنامجنا“( ‪•     MsgBox‬‬
‫إظهار الرسائل باستخدام األمر ‪MsgBox‬‬
‫• الشكل الثاني‪:‬‬
‫وفيه نستطيع إضافة أز‪-‬رار غير زر موافق ومن ثم نستطيع معر‪-‬فة ر‪-‬قم الزر الذي تم اختياره‪،‬‬
‫وفي هذه الحالة يملك الشكل التالي‪:‬‬
‫)”الرسالة” ‪ ,‬رقم‪“ , ‬العنوان“(‪ =MsgBox‬المتغير‪• -‬‬
‫• المتغير‪ :‬هو متغيرمن نوع‪ Integer ‬وهو يمثل رقم الزر الذي تم ضغطه‪.‬‬
‫• الرقم‪ :‬ويمثل نوع األزرار واأليقونات التي نر‪-‬يد إظهارها في الرسالة ويمكن لهذا الر‪-‬قم أن‬
‫الرقم‬ ‫ما سيظهر‬ ‫يأخذ إحدى القيم التالية‪:‬‬
‫‪0‬‬ ‫زر موافق‬
‫‪1‬‬ ‫زر موافق وزر إلغاء األمر‬
‫‪2‬‬ ‫زر تجاهل وإحباط وإعادة المحاولة‬
‫‪3‬‬ ‫زر نعم وال و إلغاء األمر‬
‫‪4‬‬ ‫زر نعم وال‬
‫‪5‬‬ ‫إعادة المحاولة وإلغاء األمر‬
‫‪16‬‬ ‫أيقونة‬
‫‪32‬‬ ‫أيقونة‬
‫‪48‬‬ ‫أيقونة‬
‫‪64‬‬ ‫أيقونة سؤال‬
‫‪524288‬‬ ‫تعريب الرسالة والعنوان‬
‫إدخال الرسائل من خالل األمر ‪InputBox‬‬
‫• يستخدم هذا األمر من أجل طلب معلومات من المستخدم على الشكل‪:‬‬
‫)‪ ‬الرسالة” ‪“ ,‬العنوان” ‪ ,‬القيمة االفتراضية‪ =InputBox (“ ‬المتغير‪• -‬‬
‫• يجب تعريف المتحول بحيث يتطابق مع المعلومات المطلوبة‪.‬‬
‫• هذا األمر سيظهر‪  ‬الشكل التالي ‪:‬‬

‫• بعد كتابة المعلومة المطلوبة والضغط على زر‪ OK ‬يتم إسناد القيمة المدخلة إلى المتحول‬
‫الموجود في الطرف األيمن في عبار‪-‬ة‪.InputBox ‬‬
‫إدخال الرسائل من خالل األمر ‪InputBox‬‬
‫مثال‪:‬‬
‫ضع زر أوامر وفي حدث‪ Command1_Click ‬اكتب ‪:‬‬
‫‪Dim n1 AS Integer‬‬
‫‪Dim n2 AS Integer‬‬
‫)”أدخلا‪--‬لع‪-‬دد ا‪--‬ألول“( ‪n1=InputBox‬‬
‫)”أدخلا‪--‬لع‪-‬دد ا‪--‬لثاني“( ‪n1=InputBox‬‬
‫‪Sum=n1+ n2‬‬
‫)‪MsgBox (sum‬‬
‫‪ ‬‬
‫عند تنفيذ هذا المثال سيظهر مربع حوار يطلب العدد األول ثم العدد الثاني وبعدها‬
‫سيظهر ناتج جمعهما‪.‬‬
‫استخدام صندوق االدخال (‪ )inputbox‬و ‪mod‬‬
‫من خالل جمل الشرط ‪ if‬داخل جمل الدوران ‪for‬‬
‫عند طلب ‪ mod‬يعني ان المطلوب هو باقي القسمه‬
‫‪mod = modulo‬‬
‫‪17mod5 =2‬‬
‫كيف يتم حساب باقي القسمه ؟‬
‫إما من خالل القسمه المطوله‬
‫او تاخد الباقي الذي سينتج‬
‫‪3.4 = 5\17‬‬
‫ناخد الجزء العشري ونضربه بـ ‪5‬‬
‫يعني أربعه من عشره *‪2 = 5‬‬
‫استخدام صندوق االدخال (‪ )inputbox‬و ‪mod‬‬
‫من خالل جمل الشرط ‪ if‬داخل جمل الدوران ‪for‬‬
‫مثال (‪ :)1‬قم بعمل برنامج باستخدام صندوق االدخال‪ ،‬بحيث يقوم بأول عمليه وهي عملية‬
‫جمع ‪ 3‬ار‪-‬قام مدخله‪ ،‬ثم قم بادخال ‪ 3‬اسماء ليطبعها بالترتيب واظهار‪ -‬كلمة ‪ Hello‬قبل كل‬
‫اسم تم ادخاله‪ ،‬ثم قم بطباعة االرقام الفردية ‪ 1‬الى ‪ 10‬باستخدام فحص خاصية ال ‪، mod‬‬
‫ثم قم بطباعة االرقام الزوجية من ‪ 1‬الى ‪ 10‬باستخدام فحص خاصية ال ‪ ، mod‬ثم اعد‬
‫الك ّره مره أخرى وقم بطباعة االرقام الفر‪-‬دية من ‪ 1‬الى ‪ ،10‬واخيرا قم بطباعة االر‪-‬قام‬
‫الفردية من ‪ 1‬الى ‪ 10‬بطر‪-‬يقة عكسية من الكبير الى الصغير‪ .‬قم باستخدام جملة الشرط ‪if‬‬
‫وجملة الدور‪-‬ان ‪. for‬‬
mod ‫) و‬inputbox( ‫استخدام صندوق االدخال‬
for ‫ داخل جمل الدوران‬if ‫من خالل جمل الشرط‬
---------------------- ADD ------------------- ----- Odd Number form 1 to 10-------
Private Sub Command1_Click() Private Sub Command3_Click()
Dim sum As Long Dim sum As Long
For i = 1 To 3 For i = 1 To 10
x = InputBox("Enter a Number") If i Mod 2 <> 0 Then
sum = sum + x Print i
Next i End If
Print sum Next i
End Sub End Sub
----------------------- Names -------------- ----- even number from 1 to 10 -------
Private Sub Command2_Click() Private Sub Command4_Click()
Dim sum As Long Dim sum As Long
For i = 1 To 3 For i = 1 To 10
x = InputBox("Enter a Number") If i Mod 2 = 0 Then
Print "Hello " + x Print i
Next i End If
  Next i
Print sum End Sub
End Sub
mod ‫) و‬inputbox( ‫استخدام صندوق االدخال‬
for ‫ داخل جمل الدوران‬if ‫من خالل جمل الشرط‬
----- Odd Number using step ------- ------ odd number with reverse -----

Private Sub Command5_Click() Private Sub Command6_Click()


Dim sum As Long Dim sum As Long
  For i = 9 To 1 Step -2
For i = 1 To 10 Step 2 Print i
Print i Next i
Next i End Sub
End Sub

You might also like