25-09-12, 08:04 PM
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته
اليوم إن شاء الله سأشرح كيفية أستخدام الدالة GoTo
[SIZE=2]أنت تقول الآن:ألم يقل حلقات تكرارية ؟! [/SIZE]:confused:
[SIZE=2] سأرد و أقول الحلقات التكرارية هي المثال [/SIZE]:p
[SIZE=2]
[SIZE=4]فالنبدأ على بركة الله [/SIZE][/SIZE]
[SIZE=2][SIZE=4]
طبعاً كل من يحب أن يقرأ الدوال و الإجراءات من محرر أكواد الـVB.Net فبالتأكيد صادفته داله (أو Statement ترجمها كما تشاء) أسمها GoTo و لو جربت كتابتها ستجد طريقة كتابتها في التعليقات(الشرح الصغير للدالة الذي يكتب أسفلها عند كتابتها) أن طريقة كتابتها كالتالي:[/SIZE][/SIZE]
فتفرح و تقول إذاً لو كتبت GoTo و بجانبها رقم السطر سيذهب الكود عند السطر المكتوب بجانبها
ثم تجربها و تصدم بأنه يوجد خطأ بالنص التالي: Label '#' is not defined
فيأتي في ذهنك: ما علاقة الـSystem.Windows.Forms.Label بالموضوع؟!! :confused:
تماماً، ليس لها علاقة لكن الـSystem.Windows.Forms.Label شئ و الـLabel المقصودة هنا شئ آخر
و هنا نأتي لـ "كيف أستخدم GoTo ؟"
الأمر أبسط من البساطة؛ فقط ضع قبل السطر الذي تريد الذهاب إليه:
حيث LabelName هو أي أسم أنت تختاره (و لا توجد قواعد لكتابة أسم الـLabel سوى عدم أستخدام الأسماء المحجوزة في الـVB.Net)
مثال: جرب أن تكتب في الحدث Form_Load الكود التالي:
بالتأكيد لم تظهر الرسالة و الآن أستبدل الكود السابق بالكود التالي:
بالتأكيد ظهرت الرسالة
ملاحظة: الدالة GoTo مداها قصير أي لا يمكن أستخدام GoTo من دالة إلى Label من دالة أخرى أي أن كل دالة/إجراء/ حدث له مجموعة الـLabels الخاصة به و لا يمكن أستخدامها مع دالة/إجراء/حدث آخر (أي باللهجة المصرية: كل فانكشن ليه جوتوهاتو)
و الآن حاول على حسب ما فهمت من السابق أن تصنع حلقة تكرارية كـDo Until (فقط حاول فأنت المستفيد)
[SIZE=2](أتمنى أن تكون نجحت)
[SIZE=4]و الآن لنختبر ما إذا كنت قد نجحت أم لا [/SIZE][/SIZE]
[SIZE=2][SIZE=4] مثال بسيط عن الحلقة التكرارية Do Until
الكود التالي للحلقة التكرارية Do Until بستخدام GoTo[/SIZE][/SIZE]
[SIZE=2][SIZE=4]
يمثل الكود التالي للحلقة التكرارية Do Until الحقيقية[/SIZE][/SIZE]
و لو تلاحظوا أن في كلا الكودين عدد الأسطر هو سبعة أسطر
أعتقد الآن أن الأمور أتضحت بالنسبة لبقية الحلقات التكرارية
الأمثلة التالية ستكون على النحو التالي:
مثال#: [أسم الحلقة التكرارية]
[الكود بأستخدام GoTo]
"تمثل"
[الكود الحقيقي]
__________
:::الأمثلة:::
مثال1: For
تمثل
__________
مثال2: Do
تمثل
__________
مثال3: Do While
يمثل
__________
و ها قد أنتهينا اليوم
الأمثلة الثلاثة موجودة بالمرفقات
و السلام عليكم و رحمة الله و بركاته
اليوم إن شاء الله سأشرح كيفية أستخدام الدالة GoTo
[SIZE=2]أنت تقول الآن:ألم يقل حلقات تكرارية ؟! [/SIZE]:confused:
[SIZE=2] سأرد و أقول الحلقات التكرارية هي المثال [/SIZE]:p
[SIZE=2]
[SIZE=4]فالنبدأ على بركة الله [/SIZE][/SIZE]
[SIZE=2][SIZE=4]
طبعاً كل من يحب أن يقرأ الدوال و الإجراءات من محرر أكواد الـVB.Net فبالتأكيد صادفته داله (أو Statement ترجمها كما تشاء) أسمها GoTo و لو جربت كتابتها ستجد طريقة كتابتها في التعليقات(الشرح الصغير للدالة الذي يكتب أسفلها عند كتابتها) أن طريقة كتابتها كالتالي:[/SIZE][/SIZE]
PHP كود :
GoTo <line>
ثم تجربها و تصدم بأنه يوجد خطأ بالنص التالي: Label '#' is not defined
فيأتي في ذهنك: ما علاقة الـSystem.Windows.Forms.Label بالموضوع؟!! :confused:
تماماً، ليس لها علاقة لكن الـSystem.Windows.Forms.Label شئ و الـLabel المقصودة هنا شئ آخر
و هنا نأتي لـ "كيف أستخدم GoTo ؟"
الأمر أبسط من البساطة؛ فقط ضع قبل السطر الذي تريد الذهاب إليه:
PHP كود :
LabelName:
مثال: جرب أن تكتب في الحدث Form_Load الكود التالي:
PHP كود :
Exit Sub
MsgBox("Done!")
PHP كود :
GoTo 1
Exit Sub
1: MsgBox("Done!")
بالتأكيد ظهرت الرسالة
ملاحظة: الدالة GoTo مداها قصير أي لا يمكن أستخدام GoTo من دالة إلى Label من دالة أخرى أي أن كل دالة/إجراء/ حدث له مجموعة الـLabels الخاصة به و لا يمكن أستخدامها مع دالة/إجراء/حدث آخر (أي باللهجة المصرية: كل فانكشن ليه جوتوهاتو)
و الآن حاول على حسب ما فهمت من السابق أن تصنع حلقة تكرارية كـDo Until (فقط حاول فأنت المستفيد)
[SIZE=2](أتمنى أن تكون نجحت)
[SIZE=4]و الآن لنختبر ما إذا كنت قد نجحت أم لا [/SIZE][/SIZE]
[SIZE=2][SIZE=4] مثال بسيط عن الحلقة التكرارية Do Until
الكود التالي للحلقة التكرارية Do Until بستخدام GoTo[/SIZE][/SIZE]
PHP كود :
Dim A As Integer = 0
Repeat: If A = 50 Then
MsgBox("Done!" & vbCrLf & A.ToString)
Else
A += 1
GoTo Repeat
End If
يمثل الكود التالي للحلقة التكرارية Do Until الحقيقية[/SIZE][/SIZE]
PHP كود :
Dim A As Integer = 0
Do Until A = 50
A += 1
If A = 50 Then
MsgBox("Done!" & vbCrLf & A.ToString)
End If
Loop
أعتقد الآن أن الأمور أتضحت بالنسبة لبقية الحلقات التكرارية
الأمثلة التالية ستكون على النحو التالي:
مثال#: [أسم الحلقة التكرارية]
[الكود بأستخدام GoTo]
"تمثل"
[الكود الحقيقي]
__________
:::الأمثلة:::
مثال1: For
PHP كود :
Dim _Start As Integer = 50
Dim _End As Integer = 200
Repeat: ListBox1.Items.Add(_Start.ToString)
_Start += 10
If Not _Start = _End Then
GoTo Repeat
Else
ListBox1.Items.Add(_Start.ToString)
_Start += 10
End If
PHP كود :
For I As Integer = 50 To 200 Step 10
ListBox1.Items.Add(I.ToString)
Next
مثال2: Do
PHP كود :
Repeat: If Not ListBox1.Items.Count = 50 Then
ListBox1.Items.Add("50")
GoTo Repeat
End If
PHP كود :
Do
ListBox1.Items.Add("50")
If ListBox1.Items.Count = 50 Then
Exit Do
End If
Loop
مثال3: Do While
PHP كود :
Dim A As Integer = 0
Repeat: If A < 50 Then
A += 1
GoTo Repeat
Else
MsgBox("Done!" & vbCrLf & A.ToString)
End If
PHP كود :
Dim A As Integer = 0
Do While A < 50
A += 1
If Not A < 50 Then
MsgBox("Done!" & vbCrLf & A.ToString)
End If
Loop
و ها قد أنتهينا اليوم
الأمثلة الثلاثة موجودة بالمرفقات
و السلام عليكم و رحمة الله و بركاته