أردت أن أقدم اليوم بعض الأوامر الشائعة الاستخدام في الفيجوال بسيك دوت نت و هي موجهة للمبتدئين
الأمر Megbox
الوظيفة: أظهار رسالة الى المستخدم
المثال على كيفية الاستخدام :
الرسائل تحتاج منك الى ان تكتب محتوى الرسالة من نوع نصي واقصى عدد من الحروف يمكنك ان تستخدمه هو 1024 حرف.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox("محتوى الرسالة", MsgBoxStyle.OkOnly, "العنوان")
End Sub
End Class
تم Style وهو هل تريد اظهار رسالة معلومات ، ام رسالة تحذيرية، أم رسالة سؤال بها زري نعم ولا وغيرها الكثير
وهذه هي الخيارات التي ستظهر انظر الشكل التالي:
سنأخد مثالا عن أستخدام زر فيه نعم، ولا أنظر الى الكود التالي:
عرفنا متغير Value على انه MsgBoxResult وهو تركيب من نوع enum وهذه خياراته:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As MsgBoxResult = MsgBox("هل ترغب في إغلاق البرنامج", MsgBoxStyle.YesNo, "إغلاق البرنامج")
If value = MsgBoxResult.Yes Then
MsgBox("اخترت نعم")
Else
MsgBox("اخترت لا")
End If
End Sub
End Class
وذلك حتى يتم وضع القيمة المختارة فيه لتقوم بمقارنتها ونعلم ما الزر الذي تم الضغط عليه ومعالجة ذلك.
يمكنك تجربة باقي الخيارات.
الأمر For
الوظيفة:القيام بتكرار أمر او مجموعة من الأوامر لعدة مرات
المثال على كيفية الاستخدام
أخبرنا العبارة For انها يجب ان تقوم بثلاث دورات وفي كل دورة تعرض رسالة برقم هذه الدورة المجمودة في المتغير Value الامر واضح.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As Integer
For value = 1 To 3
MsgBox(value)
Next
End Sub
End Class
يمكننا استخدام العبارة Step وذلك لكي نتجاهل بعض الفقرات أنظر التالي:
جرب المثال وغير في كل مرة في الرقم الذي بعد العبارة Stepكود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As Integer
For value = 1 To 6 Step 2
MsgBox(value)
Next
End Sub
End Class
يمكنك الخروج من هذه الدائرة بالعبارة Exit for أنظر الى المثال التالي:
بهذا المثال البسيط نطلب من For القيام بعشر دورات ولكن اذا كانت قيمة Value=5 عندها أنهي الدورة.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As Integer
For value = 1 To 10
If value = 5 Then Exit For
MsgBox(value)
Next
End Sub
End Class
ماذا اذا أردنا القيام بعمل دورات متداخلة انظر التالي:
اذا كنت قد صنعت العديد من الدوائر المتداخلة واردت معرفة عبارة For لمن تعود يمكنك استخدام التالي:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1, value2 As Integer
For value1 = 1 To 10
For value2 = 1 To 5
MsgBox(value2)
Next
Next
End Sub
End Class
سيتم هنا القيام بأول دورة For value1 وعند المرور على For value2 لايتم الخروج منها الى حين أنتهائها وهكذا أي ستحصل على رسائل بعدد 5 ضرب عشرة.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1, value2 As Integer
For value1 = 1 To 10
For value2 = 1 To 5
MsgBox(value2)
Next value2
Next value1
End Sub
End Class
الأمر Do
الوظيفة: القيام بتكرار أمر او مجموعة من الأوامر لعدة مرات
المثال على كيفية الاستخدام
Until بمعنى حتى، أي حتى Value1=3 الامر واضح، أرجوا ذلك.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer
Do
value1 += 1
MsgBox(value1)
Loop Until value1 = 3
End Sub
End Class
ويمكن ان تكون هكذا:
كما يمكنك استخدام العبارة While كما بالشكل:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer
Do Until value1 = 3
MsgBox(value1)
value1 += 1
Loop
End Sub
End Class
اليك مثال اخر مع عبارة While وتعني حالما انظر التالي:كود PHP:Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim value1 As Integer
Do While value1 < 3
MsgBox(value1)
value1 += 1
Loop
End Sub
End Class
ويمكن عمل مثال متداخل:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer
Do
value1 += 1
MsgBox(value1)
Loop Until value1 = 3
End Sub
End Class
كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1, value2 As Integer
Do Until value1 = 2
Do Until value2 = 5
MsgBox(value2)
value2 += 1
Loop
value1 += 1
Loop
End Sub
End Class
الأمر IF End IF
الوظيفة: القيام بتفرع مشروط في البرنامج
المثال على كيفية الاستخدام
اعطينا المتغير Value القيمة 3 تم قمنا بوضع جملة شرطية If تعني اذا ، أي اذا Value=3 عندها.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As Integer = 3
If value = 3 Then value = 0
End Sub
End Class
Then تعني أذاً ، أي أذاً Value=0
ولاحظ انك لست بحاجة الى كتابة العبارة End if اذا كانت باقي سطور البرمجة على نفس الخط.
حقيقة هذه السطور البرمجية غير منطقية، وعديمة الفائدة ولكنها لإعطاء فكرة وحسب.
نريد مثالاً أكثر واقعية وعملي، حسناً سنستخدم الرسائل لقنص قيمة ما أنظر التالي:
ويمكنك ان تكتبها بهذا الشكل:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As MsgBoxResult = MsgBox("هل توافق على إنهاء البرنامج", MsgBoxStyle.YesNo, "إنهاء البرنامج")
If value = MsgBoxResult.Yes Then
MsgBox("لقد اخترت نعم")
End If
If value = MsgBoxResult.No Then
MsgBox("لقد اخترت لا")
End If
End Sub
End Class
وهذه الطريقة الصحيحة لاختصار مجموعة كبيرة من الاوامر المشروطة بدل ان تكررها كما بالمثال الذي يسبق هذا.كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As MsgBoxResult = MsgBox("هل توافق على إنهاء البرنامج", MsgBoxStyle.YesNo, "إنهاء البرنامج")
If value = MsgBoxResult.Yes Then
MsgBox("لقد اخترت نعم")
ElseIf value = MsgBoxResult.No Then
MsgBox("لقد اخترت لا")
End If
End Sub
End Class
ماذا اذا كان هناك احتمال ان تكون القيمة غير معالجة أي ليست نعم أو لا على سبيل المثال، عنها ياتي دور العبارة Else كما بالشكل:
غيرنا نوعية الرسالة بحيث تعيد لنا ثلاث احتمالات، نعم،لا،إلغاء، بحال كانت القيمة العائدة نعم او لا قمنا بمعالجتها اما اذا كانت غير ذلك تم تنفيذ ما بعد Elseكود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As MsgBoxResult = MsgBox("هل توافق على أنهاء البرنامج", MsgBoxStyle.YesNoCancel, "انهاء البرنامج")
If value = MsgBoxResult.Yes Then
MsgBox("لقد اخترت نعم")
ElseIf value = MsgBoxResult.No Then
MsgBox("لقد اخترت لا")
Else
MsgBox("ليس بنعم ولاهي بلا")
End If
End Sub
End Class
لاحظ ان هذا ما سيتم تنفيذه بكل الاحوال اذا لم تكن القيمة نعم ام لا.
إضافة العبارة العديد من الشروط راقب المثال التالي:
كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer = 3
Dim value2 As Integer = 3
Dim value3 As Integer
If value1 >= 2 And value2 * 3 = 8 Then value3 = 6
End Sub
End Class
الأمر Select Case
وظيفة: القيام بتفرع مشروط في البرنامج
المثال على كيفية الاستخدام
أختبار القيمة بداخل المتغير Value واعطاء رسالة بالنتيجة وان لم تتطابق الشورط تم تنفيذ Case else .كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value As Integer = 3
Select Case value
Case 1
MsgBox("1")
Case 2
MsgBox("2")
Case 3
MsgBox("3")
Case Else
MsgBox("غير ذلك")
End Select
End Sub
End Class
وهذه صورة أخرى:
ايضاً:كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer = 4
Dim value2 As Integer = 5
Select Case value1
Case 1 Or 2 And value2 = 4
MsgBox("1")
Case 3 Or 4
MsgBox("2")
Case 5 Or 6
MsgBox("3")
Case Else
MsgBox("غير ذلك")
End Select
End Sub
End Class
كود PHP:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim value1 As Integer = 4
Dim value2 As Integer = 5
Select Case value1
Case 1, 2, value2 = 4
MsgBox("1")
Case 3, 4
MsgBox("2")
Case 5, 6
MsgBox("3")
Case Else
MsgBox("غير ذلك")
End Select
End Sub
End Class
الأمر With End with
الوظيفة: يستخدم في تسهيل الوصول الى احداث وخصائص الكائن المسند اليه
المثال على كيفية الاستخدام
لنفرض ان لدينا اداة Textbox على الفورم عنها اذا اردنا التعامل معها سنكتب شيئاً مثل:
لاحظ تكرار كلمة TextBox هل من الضروري كتابة هذه الكلمة العديد من المرات، بالتاكيد ليس ضوروراً ولذلك جاءت عبارة With انظر الشكل التالي:كود PHP:Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = "Test"
TextBox1.BackColor = Color.Azure
TextBox1.BorderStyle = BorderStyle.Fixed3D
TextBox1.MaxLength = 50
End Sub
End Class
هل ترى كيف صار الكود منظماً ومقبولاً، مجرد قيامك بكتابة النقطة بين عبارتي With و End With يتم اظهار قائمة تحتوي كل الاحداث والخصائص لهذا الكائن.كود PHP:Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With TextBox1
.Text = "Test"
.BackColor = Color.Azure
.BorderStyle = BorderStyle.Fixed3D
.MaxLength = 50
End With
End Sub
End Class
كما يمكنك ان تستخدم العبارة بشكل متداخل بعد اضافة زر Button الى النموذج أنظر التالي:
واحدة للزر وواحدة لأداة النصكود PHP:Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With TextBox1
With Button1
.Anchor = AnchorStyles.Left
.Cursor = Cursors.Hand
.Dock = DockStyle.Bottom
End With
.Text = "Test"
.BackColor = Color.Azure
.BorderStyle = BorderStyle.Fixed3D
.MaxLength = 50
End With
End Sub
End Class
للحديث بقية إن شاء الله







رد مع اقتباس







مواقع النشر (المفضلة)