مثال الجمل الشرطية If Else
تستخدم
الجمل الشرطية للتحقق من شرط معين أو قيمة معينة وإظهار النتيجة بناء على تحقق
الشرط أو عدم تحققه عندما يتحقق الشرط تظهر رسالة أما في حالة عدم تحقق الشرط لن
يظهر أي شي وإذا أردنا إظهار رسالة أو تنفيذ تعليمات في حال
عدم تحقق الشرط نقوم باستخدام Else
مع الشرط If بالطريقة التالية:
If (x=5)
Then
MessageBox.Show
(“Five”)
Else
MessageBox.Show
(“Not Five”)
End If
وتعني بأنه إذا تحقق الشرط وكانت
القيمة X
تساوي 5 سيتم إظهار الرسالة الأولى وفي حالة عدم تحقق الشرط ستظهر الرسالة
الثانية.
مثال 1: اكتب برنامج
يقوم بإدخال عدد في مربع نص ثم إظهار هل هو عدد زوجي أم فردي داخل أداة Label
الخطوات المتبعة لتصميم البرنامج:
1- نفتح مشروع جديد ونضع عليه أداتي Label وأداة TextBox وزر
ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
اسم الخاصية
|
القيمة
|
Form1
|
Text
|
الأعداد
الزوجية والفردية
|
Label1
|
Text
|
أدخل العدد
|
TextBox1
|
TextAlign
|
Center
|
Button
|
Text
|
إظهار النتيجة
|
TextBox2
|
BorderStyle
|
Fixed3D
|
2- بعد تصميم الفورم نضغط
مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click (ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
If
TextBox1.Text Mod 2 = 0 Then
"العدد زوجي"= TextBox2.Text
Else
"العدد فردي"= TextBox2.Text
End If
End Sub
لمعرفة
إذا كان العدد زوجي أم فردي نأخذ باقي قسمته على 2 فإذا كان باقي
القسمة يساوي الصفر فهو عدد زوجي وغير ذلك فهو عدد فردي ولحساب باقي القسمة في
فيجوال بيسك نستخدم الدالة Mod.
مثال2: اكتب برنامج
يقوم بإدخال عددين ومعرفة العدد الأكبر والأصغر بينهما وإظهار العدد الكبير باللون
الأزرق والعدد الصغير باللون الأخضر.
خطوات تصميم البرنامج:
1- نفتح مشروع جديد ونضع عليه 6
أدوات Labelوأداتي TextBox وزر ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
اسم الخاصية
|
القيمة
|
Form1
|
Text
|
العدد الأكبر والأصغر
|
Lable1
|
Text
|
العدد الأول
|
Label2
|
Text
|
العدد الثاني
|
Label3
|
Text
|
العدد الأكبر
|
Label4
|
Text
|
العدد الأصغر
|
TextBox1
|
TextAlign
|
Center
|
TextBox2
|
TextAlign
|
Center
|
TextBox3
|
BorderStyle
|
Fixed3D
|
TextBox4
|
BorderStyle
|
Fixed3D
|
Button1
|
Text
|
إظهار النتيجة
|
2- بعد تصميم الفورم نضغط مرتين على
زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click (ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
TextBox3.ForeColor = Color.Blue
TextBox4.ForeColor = Color.Green
If
Val(TextBox1.Text) > Val(TextBox2.Text) Then
TextBox3.Text = TextBox1.Text
TextBox4.Text = TextBox2.Text
Else
TextBox3.Text = TextBox2.Text
TextBox4.Text = TextBox1.Text
End If
End Sub
ملاحظة: تم إظهار نتيجة العدد الأكبر
داخل TextBox3
وإظهار نتيجة العدد الأصغر داخل TextBox4.
مثال الجمل الشرطية If ElseIf Else
تستخدم هذه الجمل في حال كان لدينا
شرطين أو أكثر ولتوضيح هذه الجمل نأخذ الأمثلة التالية:
مثال1: لنفترض أنه
لدينا برنامج لإدخال درجات الطالب ثم إظهار التقدير في رسالة.
خطوات تصميم البرنامج:
1-
نفتح مشروع جديد ونضع عليه أداة TextBox و
أداة Label وزرين
واحد لإظهار النتيجة والآخر للخروج من البرنامج ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
الخاصية
|
القيمة
|
Form1
|
Text
|
درجات الطلاب
|
Label1
|
Text
|
أدخل الدرجة هنا
|
TextBox1
|
TextAlign
|
Center
|
Button1
|
Text
|
إظهار النتيجة
|
Button2
|
Text
|
خروج
|
2- بعد
تصميم الفورم نضغط مرتين على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click (ByVal
sender As System.Object,
ByVal e As System.EventArgs) Handles
Button1.Click
If Val
(TextBox1.Text) < 50 Then
("ضعيف")MessageBox.Show
Else If
Val (TextBox1.Text) <= 70 Then
("مقبول")MessageBox.Show
ElseIf
Val (TextBox1.Text) <= 80 Then
("جيد")MessageBox.Show
ElseIf
Val (TextBox1.Text) <= 90 Then
("جيد جدا") MessageBox.Show
ElseIf
Val (TextBox1.Text) < 100 Then
("ممتاز")MessageBox.Show
Else
("خطأ في أدخال العلامة")MessageBox.Show
End If
End Sub
أدخال درجة
الطالب س
تكون داخل أداة TextBox1 وبالتالي فإن الشرط هو التحقق من قيمة هذه الأداة ونستخدم الدالة Val لتحويل القيمة النصية الموجودة داخل الأداة
إلى قيمة رقمية لمنع حدوث أي خطأ أثناء التنفيذ.
نلاحظ هنا
وجود أكثر من شرط حيث تم أستخدام If مع ElseIf و Else فإذا كانت القيمة الموجودة
داخل الأداة أصغر تماما من 50 سيتم إظهار رسالة التقدير ضعيف وإذا كانت القيمة أصغر
أو تساوي 70 سيتم إظهار رسالة تقدير مقبول وهكذا.
عند تنفيذ
البرنامج والضغط على زر إظهار النتيجة سيقوم البرنامج بتأكد من القيمة داخل أداة TextBox عن طريق التحقق من الشرط If وفي حال عدم تحقق الشرط سينتقل إلى الشرط الذي
يليه وهكذا حتى تنتهي كل الشروط أما في حالة عدم تحقق أي شرط من هذه الشروط سيتم
تنفيذ التعليمات الموجودة داخل Else أي أن التعليمات الموجودة داخل Else لا يتم تنفيذها إلا في حال عدم تحقق الشرط
داخل If و ElseIf.
3- نضغط
مرتين على زر الخروج لكتابة الكود الخاص به كما تعلمنا سابقا:
Private Sub Button2_Click (ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Button2.Click
End
End Sub
ملاحظة
هامة: الترتيب في جملة If الشرطية هام جدا لأن البرنامج عند تحقق أول
شرط سيتم تنفيذ التعليمات الموجودة بداخله وسيتوقف بعدها أي لن يتم التحقق من بقية
الشروط الأخرى وعليه فلا بد أن يكون الترتيب بشكل تصاعدي للجمل الشرطية, ففي
الميثال السابق لو بدأنا بالشرط If Val (TextBox1.Text)<=100 سيعتمد البرنامج هذا الشرط ولن
يتم التحقق من بقية الشروط الأخرى وبالتالي إذا كانت الدرجة التي تم إدخالها أصغر
من 50 ستظهر النتيجة دائما التقدير ممتاز لأنها تحقق الشرط أصغر أو تساوي 100 لذلك
يجب مراعاة الترتيب في الشروط من الأصغر إلى الأكبر.
مثال 2: اكتب برنامج يقوم بترجمة الكلمات من اللغة الأنجليزية إلى اللغة العربية
وإظهار الترجمة باللون الأزرق وفي حال لم تكن الترجمة موجودة تظهر كلمة Error باللون الأحمر.
خطوات تصميم
البرنامج:
1- نفتح مشروع جديد و ونضع عليه أداتي Label وأداة TextBox وزر ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
اسم الخاصية
|
القيمة
|
Form1
|
Text
|
الترجمة
|
Label1
|
Text
|
أدخل الكلمة المراد
ترجمتها هنا
|
TextBox1
|
TextAlign
|
Center
|
Button
|
Text
|
إظهار الترجمة
|
TextBox2
|
Text
|
|
TextBox2
|
Font
|
Size=16
|
TextBox2
|
BorderStyle
|
Fixed3D
|
2- بعد تصميم الفورم نضغط مرتين
على زر إظهار الترجمة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
TextBox2.ForeColor = Color.Blue
If
TextBox1.Text.ToLower = "Water" Then
"ماء"= TextBox2.Text
ElseIf
TextBox1.Text.ToLower = "School" Then
"مدرسة"= TextBox2.Text
ElseIf
TextBox1.Text.ToLower = "Car" Then
"سيارة"= TextBox2.Text
Else
" TextBox2.Text = "Error
TextBox2.ForeColor = Color.Red
End If
End Sub
مثال دمج الشروط
يمكننا دمج
أكثر من شرط في نفس الوقت باستخدام المعاملات التالية (And, Or, Not).
1- المعامل And: عند استخدام هذا المعامل فهذا يعني أنه يجب
تحقق جميع الشروط في وقت واحد حتى يتم تنفيذ التعليمات الموجودة داخل هذه الشروط
وفي حال عدم تحقق أي شرط فإنه لن يتم تنفيذه نهائيا.
2- المعامل Or: عند استخدام هذا المعامل لا يشترط تحقق
جميع الشروط وإنما يكفي تحقق شرط واحد على الأقل ليتم تنفيذ التعليمات الموجودة
داخل الشروط.
3- المعامل Not: ويعني حالة عدم النفي.
ولتوضيح هذه
الفكرة نأخذ الأمثلة التالية:
مثال1: برنامج إدخال اسم المستخدم وكلمة السر والتأكد فيما إذا كان اسم المستخدم
هو Ali وكلمة السر هي Ali بنفس الوقت.
الخطوات
المتبعة لتصميم البرنامج:
1- نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر واحد للتحقق من صحة اسم المستخدم وكلمة السر ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
اسم الخاصية
|
القيمة
|
Label1
|
Text
|
اسم المستخدم
|
Label2
|
Text
|
كلمة السر
|
TextBox1
|
TextAlign
|
Center
|
TextBox2
|
TextAlign
|
Center
|
TextBox2
|
UseSystemPasswordChar
|
True
|
Button1
|
Text
|
دخول
|
خاصية UseSystemPasswordChar تستخدم لجعل كلمة المرور مشفرة
كما تظهر في الصورة السابقة.
2- نضغط
مرتين على زر دخول لكتابة كود التحقق من اسم المستخدم وكلمة السر.
Private Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
If
(TextBox1.Text.ToLower =("Ali") And TextBox2.Text = "Ali")
Then
, "معلومات صحيحة", "اسم المستخدم وكلمة السر صحيحين" ) MessageBox.Show
(MessageBoxButtons.OK,
MessageBoxIcon.Information
Else
(" معلومات خاطئة","اسم المستخدم وكلمة السر غير صحيحين" ) MessageBox.Show
MessageBoxButtons.OK,
MessageBoxIcon.Error
(
End If
End Sub
نلاحظ في
الشرط If استخدام المعامل And للتحقق من اسم المستخدم وكلمة السر في وقت
واحد, ولتنفيذ هذا الشرط يجب أن يتحقق الشرطين معا أي يجب أن يكون اسم المستخدم هو
Ali وكلمة السر هي Ali ليتم تنفيذ الرسالة الأولى, أما في حالة كون
أحدهما خاطئ سيتم الأنتقال إلى Else وتنفذ الرسالة الموجودة داخلها.
تم استخدام
الدالة Tolower() عند التعامل مع Text.Tolower().TextBox1
وذلك لتحويل جميع الأحرف الموجودة داخل هذه الأداة إلى أحرف صغيرة أي أنه إذا تمت
كتابة اسم المستخدم بأحرف صغيرة أو كبيرة ففي كلتا الحالتين سيتم تحويله إلى أحرف
صغيرة باستخدام هذه الدالة ومقارنته بكلمة Ali أما في حالة كلمة السر فلا داعي لاستخدام هذه الدالة لأن كلمة
السر يجب أن تكتب كما هي.
تعلمنا
سابقا كيفية التعامل مع رسائل MessageBox وكيفية إظهار الرسالة أما في مثالنا هذا تم اضافة معلومات أخرى
للرسالة كنص الرسالة وعنوان الرسالة وأيقونة الرسالة.
("اسم المستخدم وكلمة السر صحيحين", " معلومات صحيحة") MessageBox.Show
MessageBoxButtons.OK,
MessageBoxIcon.Information
مثال2: اكتب برنامج يقوم بحساب قيمة الفاتورة الكلية لاستهلاك الكهرباء لدى
العملاء علما أن طريقة الدفع ستكون كالآتي:
1- إذا كانت
كمية الاستهلاك تساوي 250 كيلو وات وما دون فإن التكلفة ستكون 0.5 درهم لكل كيلو
وات. (إظهار النتيجة باللون الأزرق).
2- وإذا
كانت كمية الاستهلاك 251 كيلو وات وما فوق فإن التكلفة ستكون 0.75 درهم لكل كيلو
وات. (إظهار النتيجة باللون الأخضر).
ملاحظة: إذا كانت القيمة أصغر أو تساوي الصفر تظهر كلمة Error
باللون الأحمر.
خطوات تصميم البرنامج:
1-
نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
اسم الخاصية
|
القيمة
|
Form1
|
Text
|
فاتورة الكهرباء
|
Label1
|
Text
|
كمية الاستهلاك
|
Label2
|
Text
|
|
Label2
|
Font
|
Size=16
|
Label2
|
BorderStyle
|
Fixed3D
|
TextBox1
|
TextAlign
|
Center
|
Button1
|
Text
|
إظهار القيمة
|
2- بعد
تصميم الفورم نضغط مرتين على زر إظهار القيمة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click (ByVal sender As
System.Object, ByVal
e As System.EventArgs)
Handles Button1.Click
If Val (TextBox1.Text) <= 250 And
Val(TextBox1.Text) > 0 Then
Label2.ForeColor = Color.Blue
Label2.Text = Val(TextBox1.Text 0.5*(
ElseIf
Val (TextBox1.Text) >= 251 Then
Label2.ForeColor = Color.Green
TextBox1.TextLabel2.Text = Val
Else
abel2.ForeColor = Color.Red
" Label2.Text = "Error
End If
End Sub
مثال الجمل الشرطية Select Case
تستخدم هذه
الجملة بدلا عن الشرط If وتعني اختيار حالة من عدة
حالات.
مثال1: برنامج إدخال درجات الطالب باستخدام Select Case
خطوات تصميم
البرنامج:
1- نفتح مشروع جديد و نضع علية أداتي Label وأداة TextBox وزر لإظهار النتيجة ونجعل الخصائص للأدوات كما يلي:
اسم الأداة
|
الخاصية
|
القيمة
|
Form1
|
Text
|
درجات الطلاب
|
Label1
|
Text
|
أدخل الدرجة هنا
|
Text1
|
TextAlign
|
Center
|
Button1
|
Text
|
إظهار النتيجة
|
2- بعد تصميم الفورم نضغط مرتين
على زر إظهار النتيجة لكتابة الكود الخاص به كما يلي:
Private Sub Button1_Click(ByVal
sender As System.Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
Select Case Val(TextBox1.Text)
Case
Is < 50
("راسب") MessageBox.Show
Case
Is >= 50
("ناجح") MessageBox.Show
Case Else
("خطأ في إدخال العلامة") MessageBox.Show
End Select
End Sub
المتغير
|
المعنى
|
Select Case Val (TextBox1.Text)
|
تعني اختيار حالة
القيمة الموجودة داخل TextBox1.Text
|
Case Is < 50
|
تعني إذا كانت القيمة
أصغر تماما من 50 سيتم اختيار هذه الحالة.
|
Case Is > 50
|
تعني إذا كانت القيمة أكبر أو تساوي 50 سيتم اختيار
هذه الحالة.
|
Case Else
|
سيتم تنفيذها فقط في حالة عدم اختيار أي حالة
سابقة.
|