السلام عليكم :
الكثير من المبتدئين ما يميزون بين الجمل البرمجية If , else , else if بينما الفرق واضح ومنطقي , لذلك سويت برنامج مفتوح حتي
يستفادون منا المبتدئين , المثال يشمل الجمل الثلاثة وهذه صورة توضيحية :
اول شيء خلي نعرف التشابه بين هذه الجمل وانوب نتطرق للاختلاف
الجمل ثلاثة هي جمل لتحقيق شرط معين , لكن else اختصار لعدد جمل if , اما else if فهي لعدة شروط,, على سبيل المثال هذا الشرط
اذا كانت درجة الطالب اقل من 50 اكتب في مربع النص " راسب "
خلي نحولها لكود :
If TextBox1.Text < 50 Then
TextBox2.Text = " راسب"
end if
اذا اردنا اضافة شرط ثاني وهو شرط النجاح لازم نكتب الكود التالي :
If TextBox1.Text >= 50 Then
TextBox2.Text = " "
MessageBox.Show(" مقبول ")
End If
وكلما اردنا اضافة شرط جديد نكتب if جديدة وهكذا ,, لذلك تم اللجوء الى جملة else
جملة else تعني "" اما اذا لم يتحقق الشرط فيجب طباعة عبارة يحدده المبرمج
مثال :
رح نغير الكود الفوك الى else بدل من كتابة جملة if مرتين :: تتم العملية كالتالي : باستخدام else
If TextBox1.Text < 50 Then
TextBox2.Text = " راســــب"
Else
TextBox2.Text = " ناجـــــــــــــــح"
End If
--------------------------------------------------------
هسه وصلنا لجملة else if وهي الجملة الاكثر شمولية من if و else السابقات الذكر
مثل ما ذكرنا في بداية الموضوع ان هذه الجملة هي لعدة شروط :
مثال : اذا اردنا ان نسوي شرط وهذا الشرط يحتوي على عدة نتائج وهي : راسب , مقبول , متوسط , جيد , جيد جداً , ممتاز
من غير المنطقي ان نضل انصفت جمل if ونرجع ^_^
لذلك انوجدت هذه الدالة ( else if )
ويكون الكود كالتالي :
'
On Error Resume Next
If TextBox1.Text = "" Then
End
End If
'+++++++++++++++++++++++++++++++++++++++
' else if
If TextBox1.Text < 50 Then
TextBox2.Text = " راسب"
ElseIf TextBox1.Text < 50 Then
TextBox2.Text = "مقبول"
ElseIf TextBox1.Text < 60 Then
TextBox2.Text = "متوسط"
ElseIf TextBox1.Text < 70 Then
TextBox2.Text = " جيد"
ElseIf TextBox1.Text < 75 Then
TextBox2.Text = " جيد جدا"
ElseIf TextBox1.Text < 80 Then
TextBox2.Text = "ممتاز "
Else
TextBox2.Text = "مو طبيعي ^_^ "
End If
وهذا كود المشروع كاملاً :
كود:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'
On Error Resume Next
If TextBox1.Text = "" Then
End
End If
'++++++++++++++++++++++++++++++++++++++++++++++++++
' if
If TextBox1.Text < 50 Then
TextBox2.Text = " "
End If
If TextBox1.Text >= 50 Then
TextBox2.Text = " "
MessageBox.Show(" ", " ", MessageBoxButtons.OK, MessageBoxIcon.Question)
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'
On Error Resume Next
If TextBox1.Text = "" Then
End
End If
'+++++++++++++++++++++++++++++++++++++
' else
If TextBox1.Text < 50 Then
TextBox2.Text = " "
Else
TextBox2.Text = ""
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'
On Error Resume Next
If TextBox1.Text = "" Then
End
End If
'+++++++++++++++++++++++++++++++++++++++
' else if
If TextBox1.Text < 50 Then
TextBox2.Text = " "
ElseIf TextBox1.Text < 50 Then
TextBox2.Text = ""
ElseIf TextBox1.Text < 60 Then
TextBox2.Text = ""
ElseIf TextBox1.Text < 70 Then
TextBox2.Text = " "
ElseIf TextBox1.Text < 75 Then
TextBox2.Text = " "
ElseIf TextBox1.Text < 80 Then
TextBox2.Text = " "
Else
TextBox2.Text = " "
End If
End Sub
End Class
حتى تتجنب حدوث اخطاء بالكود حمل الملف المرفق