السلام عليكم ورحمة الله تعالى وبركاته ...
إن شاء الله تعالى سأضع مجموعة دروس في لغة VB وستكون داخل هذا الموضوع
وأرجو ممن لديه سؤال أو ملحوظة خاصة بمضمون درس ما فقط , أن يكتبه هنا
وأرجو حذف أي أسئلة لا تتعلق بالموضوع
بالنسبة لمحتوى الدروس , فسيكون بإذن الله لشرح الأساسيات , لن أتطرق للأمور المتعمقة جدا , ولا البسيطة جدا مثل شرح القوائم
وما معنى كلمة دالة وإجراء ... إلخ , ولكن سأشرح أساسيات كل جزء , مثل أساسيات الانترنت , أساسيات التعامل مع الملفات وغيره ...
و سأحاول وضع أمثلة لكل درس, إن أمكن .
الدرس الأول : الجمل الشرطية .
جمل IF : وهي أشهر التراكيب الخاصة بالشرط وأكثرها استعمالاً , وتوجد عدة أشكال لهذا التركيب كلها تبدأ بكلمة IF وتنتهي بـ End If
الشكل الأول : If … Then … , وهو يستعمل للتحقق من شرط وتنفيذ أمر واحد غالباً , ويكون كالتالي :
كود
If Condition Then Command
مثلا :
كود
If A > 5 Then Beep
ولكن , يمكن ان تجعله ينفذ أكثر من أمر باستعمال إشارة النقطتين الرأسيتين ( : ) , مثلا :
كود
If A > 5 Then Beep : Msgbox "Hi !"
[color:203c="#008000"]الشكل الثاني : If … Then … End If , ويستعمل لتنفيذ أكثر من أمر , كما أنه يحافظ على تنسيق الكود , ويكون كالتالي :
كود
If Condition Then
Command1
Command2
Command…
End if
مثلاً :
كود
If A > 5 Then
Beep
Msgbox "Hi !"
X = 7
End If
الشكل الثالث : If … Then … Else … End If , ويستعمل للتحقق من شرط وتنفيذ أمر إذا حصل الشرط وآخر إن لم يحصل , ويكون كالتالي :
كود
If Condition
Command…
Else
Command…
End If
مثلاً :
كود
If A > 5 Then
Beep
Msgbox "Hi !"
X = 7
Else
X = 0
End If
في هذا الكود , إن كان الشرط صحيحا ستنفذ الأوامر الثلاثة الأولى , وإن لم يكن صحيحاً (A <= 5) سيتم تنفيذ ما بعد كلمة Else
الشكل الرابع : If … Then … ElseIf … Else … End If , وهو أكثر الأشكال عموما ودقة لأنه يمكنك من معالجة أغلب الحالات , ويكون كالتالي :
كود
If A > 5 Then
Beep
Msgbox "Hi !"
X = 7
ElseIf A = 5 Then
X = 5
Else
X = 0
End If
هنا تلاحظ اننا تحققنا من ثلاثة شروط , (A > 5) و (A = 5) و Else التي تعني انه تحقق شرط غير المذكور (A > 5 مثلاً)
هناك نوع آخر من جمل IF ولكنه يختلف قليلاً , وهو IIF , ويكون كالتالي :
كود
Value = IIf(Condition, TValue, FValue)
حيث أن :
Value : هو متغير أو ثابت ... إلخ لحفظ القيمة التي تعود بها الدالة
Condition : الشرط
TValue : القيمة التي تعيدها الدالة إن كان الشرط صحيحا
FValue : القيمة التي تعيدها الدالة إن كان الشرط خاطئاً
مثلاً :
كود
Text1.Text = IIf(Text1.Text = "0", "t", "f")
هنا ستكون قيمة Text1 النصية هي "T" إن تحقق الشرط (Text1.text = "0") , وستكون "F" إن كان خاطاً
تركيب Select Case : الفائدة من هذا التركيب هي انه يعالج الكثير من الحالات , ويكون كالتالي :
كود
Select Case X
Case 1
Command1
Case 2
Command 2
Case 3
Command 3
Case …
Command …
End Select
كود
Select Case X
Case 1 : Command 1
Case 2 : Command 2
Case 3 : Command 3
Case … : Command …
End Select
حيث X هو مثلا متغير أو ثابت أو TextBox.Text ...
مثلاً :
كود
Select Case i
Case 5 : Msgbox "i = 5"
Case 10 : Msgbox "i = 10"
Case 50 : Msgbox "i = 50"
End Select
هذا التركيب سيتحقق من قيمة المتغير i ويعرض رسالة بهذه القيمة
لكن هناك مشكلة ... ماذا لو أردت التحقق إن كان i أكبر أو أصغر من عدد ما ؟
لن يصلح أن اكتب :
كود
Select Case i
Case >5 : msgobx "Larger Than 5"
Case <5 : msgbox "Smaller Than 5"
End Select
الحل هنا : هو باستخدام كلمة IS , فيصبح الكود كالتالي :
كود
Select Case i
Case IS > 5 : msgbox "Larger Than 5"
Case IS < 5 : msgbox "Smaller Than 5"
End Select
ملحوظة : هناك كلمات محجوزة تسمح لك بالخروج من الإجراء أو الدالة , وتوضع في الشروط غالبا , وهي Exit Sub في الإجراءات , و Exit Function في الدوال
مثلاً :
كود
If A <> 5 Then
Msgbox "A <> 5"
Else
Exit Sub
End If
وهنا سيخرج من الإجراء إن كان A = 5
تبقت نقطة أخيرة وهي "التعشيش" أو Nesting , هذه الطريقة تستخدم لوضع أكثر من تركيب بداخل بعضهم , وتستعمل في المترجمات Compilers بكثرة
وهذه بعض أمثلة على التعشيش :
كود
If A = 5 Then
If B = 6 Then
If C = 10 Then
Msgbox "Hi !"
Else
Msgbox "No Hi !!!"
End If
End If
End IF
في الكود السابق سيتم التحقق من أن (A = 5) فإن كان كذلك فسيتحقق إن كان (B = 6) فإن كان صحيحا فسيتحقق إن كان C = 10 ويعرض الرسالة الأولى , وإن كان (C <> 10) فإنه سيعرض الرسالة الثانية
كود
Select Case X
Case 5
If A = 6 Then
If B = 23 Then
Msgbox "Hi again !"
Else
Msgbox "No Hi !"
End If
Case 20
If A = 14 Then
Msgbox "Hello …. And Hi !"
Else
Msgbox "……"
End If
End Select
أرجو أن يكون الدرس مفيدا , وأن ينال إعجابكم
منقول