تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
صنع جميع الحلقات التكرارية يدوياً عن طريق GoTo
#1
بسم الله الرحمن الرحيم
السلام عليكم و رحمة الله و بركاته

اليوم إن شاء الله سأشرح كيفية أستخدام الدالة GoTo
[SIZE=2]أنت تقول الآن:ألم يقل حلقات تكرارية ؟!
[/SIZE]
:confused:
[SIZE=2] سأرد و أقول الحلقات التكرارية هي المثال [/SIZE]:p
[SIZE=2]
[SIZE=4]فالنبدأ على بركة الله
[/SIZE]
[/SIZE]
Smile
[SIZE=2][SIZE=4]

طبعاً كل من يحب أن يقرأ الدوال و الإجراءات من محرر أكواد الـVB.Net فبالتأكيد صادفته داله (أو Statement ترجمها كما تشاء) أسمها GoTo و لو جربت كتابتها ستجد طريقة كتابتها في التعليقات(الشرح الصغير للدالة الذي يكتب أسفلها عند كتابتها) أن طريقة كتابتها كالتالي:
[/SIZE]
[/SIZE]
PHP كود :
GoTo <line
فتفرح و تقول إذاً لو كتبت GoTo و بجانبها رقم السطر سيذهب الكود عند السطر المكتوب بجانبها
ثم تجربها و تصدم بأنه يوجد خطأ
Sad بالنص التالي: Label '#' is not defined
فيأتي في ذهنك: ما علاقة الـSystem.Windows.Forms.Label بالموضوع؟!!
:confused:
تماماً، ليس لها علاقة لكن الـSystem.Windows.Forms.Label شئ و الـLabel المقصودة هنا شئ آخر Smile

و هنا نأتي لـ "كيف أستخدم GoTo ؟"
الأمر أبسط من البساطة؛ فقط ضع قبل السطر الذي تريد الذهاب إليه:
PHP كود :
LabelName
حيث LabelName هو أي أسم أنت تختاره (و لا توجد قواعد لكتابة أسم الـLabel سوى عدم أستخدام الأسماء المحجوزة في الـVB.Net) Smile

مثال: جرب أن تكتب في الحدث Form_Load الكود التالي:
PHP كود :
Exit Sub
        MsgBox
("Done!"
بالتأكيد لم تظهر الرسالة و الآن أستبدل الكود السابق بالكود التالي:
PHP كود :
GoTo 1
        
Exit Sub
1
:      MsgBox("Done!"

بالتأكيد ظهرت الرسالة

ملاحظة: الدالة GoTo مداها قصير أي لا يمكن أستخدام GoTo من دالة إلى Label من دالة أخرى أي أن كل دالة/إجراء/ حدث له مجموعة الـLabels الخاصة به و لا يمكن أستخدامها مع دالة/إجراء/حدث آخر (أي باللهجة المصرية: كل فانكشن ليه جوتوهاتو)

و الآن حاول على حسب ما فهمت من السابق أن تصنع حلقة تكرارية كـDo Until (فقط حاول فأنت المستفيد
Smile)





[SIZE=2](أتمنى أن تكون نجحت)
[SIZE=4]و الآن لنختبر ما إذا كنت قد نجحت أم لا
[/SIZE]
[/SIZE]
Smile
[SIZE=2][SIZE=4] مثال بسيط عن الحلقة التكرارية Do Until
الكود التالي للحلقة التكرارية Do Until بستخدام GoTo
[/SIZE]
[/SIZE]
PHP كود :
Dim A As Integer 0
Repeat
: If 50 Then
            MsgBox
("Done!" vbCrLf A.ToString)
        Else
            
+= 1
            
GoTo Repeat
        End 
If 
[SIZE=2][SIZE=4]
يمثل الكود التالي للحلقة التكرارية Do Until الحقيقية
[/SIZE]
[/SIZE]
PHP كود :
Dim A As Integer 0
        
Do Until A 50
            A 
+= 1
            
If 50 Then
                MsgBox
("Done!" vbCrLf A.ToString)
            
End If
        
Loop 
و لو تلاحظوا أن في كلا الكودين عدد الأسطر هو سبعة أسطر Smile
أعتقد الآن أن الأمور أتضحت بالنسبة لبقية الحلقات التكرارية Smile
الأمثلة التالية ستكون على النحو التالي:
مثال#: [أسم الحلقة التكرارية]
[الكود بأستخدام 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 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 50 Then
            A 
+= 1
            
GoTo Repeat
        
Else
            
MsgBox("Done!" vbCrLf A.ToString)
        
End If 
يمثل
PHP كود :
Dim A As Integer 0
        
Do While 50
            A 
+= 1
            
If Not A 50 Then
                MsgBox
("Done!" vbCrLf A.ToString)
            
End If
        
Loop 
__________

و ها قد أنتهينا اليوم
Smile
الأمثلة الثلاثة موجودة بالمرفقات

و السلام عليكم و رحمة الله و بركاته
SmileSmile


الملفات المرفقة
.rar   GoTo.rar (الحجم : 99.34 ك ب / التحميلات : 71)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الحلقة السابعة من السلسلة 167- استخراج جميع معلومات الجهاز RaggiTech 5 4,494 29-06-21, 05:29 AM
آخر رد: kebboud
  ابسط كود لرفع الملفات عن طريق سيرفر FTP Basil Abdallah 2 3,957 20-11-20, 07:21 PM
آخر رد: walihn
  مثال للتعامل مع الجداول المرتبطة - عن طريق الكلاسات ابو ليلى 25 15,192 04-10-20, 06:16 PM
آخر رد: محمد بن عطية
Video [درس فيديو] طريقة تحميل وتثبيت visual studio 2017 مع جميع التحديثات Ikode 1 10,139 11-08-18, 08:48 PM
آخر رد: galas
Exclamation [VB.NET] التعامل مع ال CMD عن طريق ال TextBox YousefOkasha 5 5,003 02-06-18, 09:34 PM
آخر رد: YousefOkasha
  [كود] إختيار صف واحد أو اختيار جميع الصفوف في الداتا جريد فيو silverlight 0 3,751 18-12-15, 03:50 PM
آخر رد: silverlight
Brick [مثال] انشاء ترميز باركود من نوع QR عن طريق موقع جوجل الطالب 1 2,906 02-09-15, 10:42 PM
آخر رد: مبرمج بلا حدود
  [VB.NET] موقع جميل وجيد لاكواد جميع لغات البرمجة alking-0999 1 3,395 08-08-15, 07:02 PM
آخر رد: AkraM Fouad
  إيجاد جميع الكونترول الموجودة في الفورم Recursively Find All Controls in Form silverlight 0 3,039 26-05-15, 12:31 AM
آخر رد: silverlight
  العمل على إصدار فيجوال استديو 2012 واجعل مشاريعك تعمل على جميع الإصدارات القديمة ali.alfoly 8 8,830 22-10-14, 11:08 PM
آخر رد: احمد بكري احمد علي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم