Make your own free website on Tripod.com

 

جمل الشرط

العبارة الشرطية IF

 

أولاً - العبارة:    IF - Then

تستخدم عبارة الشرط If في شروط أي أنه إذا تحقق الشرط عند ذلك إعمل الحدث وإلا أي إذا لم يتحقق ألغي الحدث أو إعمل حدث أخر.

التعليمة البسيطة لعبارة If هي كالتالي:

 

Statement Then Condition

IF

تعليمة عندئذ الشرط إذا

 

في هذه التعليمة إذا تحقق الشرط تنفذ كل اتعليمات التي بعد كلمة Thenوإذا لم ينفذ الشرط تنفذ التعليمات الواردة على السطر التالي لعبارة الشرط.

 

هذه الجملة البسيطة . ولاكن هناك جملة IF - Then - Else

وهو عندما يتحقق الشرط نفذ تعليمة ما وإذا لم يتحقق فهناك تعليمة أخرى سوف تنفذ في حال عدم تحقق الشرط.

الشكل العام للتعليمة:

 

Statement 2 Else Statement 1 Then Condition

IF

تعليمة عدم تحقق الشرط وإلا تعليمة عندئذ الشرط إذا

 

مثال:

ضع أداة النص Text1    و زر أمر Command1 أكتب السطر التالي في حدث الزر:

 

If Text1 = "forbakh" Then Unload Me Else MsgBox "Password Error Try Again"

إذا كان النص المكتوب هو "forbakh" عند ذلك أغلق البرنامج وإلا إعرض رسالة الخطأ       

 

ويمكنك أن تضع التعليمة في عدة أسطر:

If  الشرط Then

تعليمة

Else

تعليمة عدم تحقق الشرط

End If

 

إذا كانت التعليمة في عدة أسطر فيجب دائماً أن توجد تعليمة End If في نهاية عبارة IF

مثال

If Text1.text="forbakh" Then

Msgbox"تم تسجيل دخولك"

Unload me

Else

Msgbox"الكلمة التي قمت بكتابتهاغير صحيحة "

End If


 

العبارةSelect Case

 

جملة Select  تشبه تقريباً جملة If  إلا أنها تستعمل حالات متعددة وفي كل حالة تكتب تعليمة مختلفة.

الشكل العام للعبارة:

 

Select Case  (العنصر)

Case (الحالة)

التعليمة

End select

 

يمكنك إضافة الكثير من الحالات ولاكن قبل      End Select

 

سوف نعمل مثال بسيط لهذه الجملة.

أضف فورم وأضف الأدوات التالية:

 Text1

Label1

Command1

 

أنقر فوق الزر نقرتين وأكتب الشيفرة التالية:

On Error GoTo b

Dim a As Integer
a = Text1

Select Case a
Case 0 To 10
Label1 = "سيىء"
Case 10 To 40
Label1 = "ضعيف"
Case 40 To 60
Label1 = "وسط"
Case 60 To 80
Label1 = "جيد"
Case 80 To 100
Label1 = "ممتاز"
End Select

Exit Sub
b:
MsgBox "الرجاء إدخال قيمة عددية ", vbCritical, "خطأ في الكتابة"
 

شرج الشيفرة السابقة:

السطر الأول : التصريح عن خطأ أسميناه b

السطر الثاني: التصريح عن متحول عددي صحيح   a

السطر الثالث: إسناد النص في Text1  إلى المتحول a

السطر الرابع إلى End Select بداية التعليمة Select  . أي حدد حالات المتحول a في كل حالة عرض تعليمة مختلفة

السطور التي بعد End Select هي عمل الخطأ أي عرض رسالة عند الخطأ . حاول كتابة نص عادي فسوف تظهر لك الرسالة.

لا حظ أنه أنهينا العبارة ب End Select مثل End If

ويمكنك إستعمال العبارة الشرطية IF ولاكن عليك كتابة الجملة كاملة في كل حالة من الحالات السابقة

 


 

حلقة التكرار   Do

 

تستعمل جملة التكرار Do لعمل حدث ما بعدد معين .

يجب أن تصرح عن متحول قبلها لكي تعمل الجملة:

 

Dim a As Integer
Do

a=a+1

التعليمة

Loob Until (a Value)

 

ربما شرح الجملة غير مفهوم قليلاً . في السطر الأول صرحنا عن متحول عددي

السطر الثاني بداية جملة التكرار

السطر الثالث زيادة قيمة المتحول a في كل حلقة تكرار

السطر الرابع تكتب التعليمة التي تريدها

السطر الخامس هو عدد مرات التكرار وهو سوف يكون قيمة المتحول a مثلاً :a<6    أو    a=5

لذلك سوف يتم عمل التعليمة التي كتبتها 5 مرات ولهذا السبب قلنا عليك التصريح عن متحول لأنه دون ذلك سوف تكرر التعليمة إلى مالانهاية.

 

 سوف نعمل مثال للتعرف أكثر على الجملة:

 

أضف فورم وزر أمر Command أكتب الشيفرة التالية:

 

Dim a As Integer
Do
a = a + 1
MsgBox a
Print a
Loop Until (a = 9)

 

تكررا الحدث 9 مرات كما في السطر الأخير a=9


 

حلقة التكرار   For

حلقة التكرار For مشابهة تقريباً للحلقة السابقة Do

تستعمل لتكرار عمل معين بعدد محدد.

الشكل العام للتعليمة:

 

For a= القيمة الأولى To القيمة الثانية

الحدث (التعليمة)

Next

ملاحظة :(a) مجرد وسيط يمكنك تغيره

 

 

مثال سريع للجملة البسيطة :

For a = 0 To 5
MsgBox "مثال", vbMsgBoxRight, a
Next

 

في المثال السابق حددنا القيمة الأولى وهي 0   أي قيمة a

ثم حددنا القيمة الثانية وهي 5 .

لذلك سوف يتم عرض الرسالة بقيمة أي خمس مرات. ودائما تنتهي جملة التكرار ب:  Next 

 

ملاحظة: لجملة التكرار For نوعان النوع السابق هو الجملة البسيطة. والآن نأتي إلى الجملة المركبة:

الجملة المركبة تحوي الحلقة الداخلية والحلقة الخارجية . أي حلقة For داخل حلقة For

 

مثال سريع للجملة المركبة:

For s = 0 To 1

'بداية الحلقة الداخلية
For a = 0 To 2
Print "s="; s, "a="; a
Next
'نهاية الحلقة الداخلية

Print ""
Next

 

 

مثال آخر للجملة For

ضع الكود التالي في أداة التوقيت Timerولاتنسى خاصية Interval=100

Dim h
Dim w
h = Me.Height / 2
w = Me.Width / 2
For i = 1 To w
Me.Circle (h, w), i, RGB(Rnd * 100, Rnd * 200, Rnd * 90)
Nextذ

 


نهاية الدرس

أعلى الصفحة