تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Loops للمبتدئيــــن
#1
كاتب الموضوع : !!! BoriS !!!

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

The Loops الحلقــات التكرارية ....


الحلقات التكرارية هى حلقات تفيديك فى حــالة تكرار شئ معين بين فكيهـــا

يمكنك vb.net من كتابة المصفوفات بسهولة وباشكال عديدة كما سيأتى سردها ان شاء الله .

الحلقة For ………. Next

كود :
[color=#000000][COLOR=#0000bb]Dom Con [/color][color=#007700]As [/color][COLOR=#0000bb]Integer

[/COLOR][color=#007700]For [/color][color=#0000bb]Con [/color][color=#007700]= [/color][COLOR=#0000bb]1 To 4
Console[/COLOR][color=#007700].[/color][color=#0000bb]writeline [/color][color=#007700]([/color][color=#dd0000]"Boris"[/color][COLOR=#007700])
[/COLOR][COLOR=#0000bb]Next  
[/COLOR][/COLOR]

فى الكود السابق قمنا بكتابة مصفوفة عن طريق الكلمة For ………. Next لتقوم بتكرار ما بداخلها.

سيتم الاخراج هنــا أربعة مرات حيث يتم التكرار من بداية الحلقة 1 وليس الذى يليه 2 حتى اخر قيمة اعطيت للمصفوفة.

لديك الكلمة Step التى تمكنك من التحكم فى الزيادة والنقصان للحلقة...



كود :
[color=#000000][COLOR=#007700]For [/color][color=#0000bb]Con [/color][color=#007700]= [/color][COLOR=#0000bb]2 To 10 Step 2
Console[/COLOR][color=#007700].[/color][color=#0000bb]writeline [/color][color=#007700]([/color][color=#dd0000]"Boris"[/color][COLOR=#007700])
[/COLOR][COLOR=#0000bb]Next
كل مرتين سوف يتم التنفيذ  
[/COLOR][/COLOR]

يمكنك الخروج من الحلقة التكرارية قبل أنتهائهــا من خلال العبارة Exit For

أى لتكتب شئ مثل


كود :
[COLOR=#000000][COLOR=#0000bb]Module Module1
    Sub Main[/COLOR][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim Con [/color][color=#007700]As [/color][COLOR=#0000bb]Integer
        [/COLOR][color=#007700]For [/color][color=#0000bb]Con [/color][color=#007700]= [/color][COLOR=#0000bb]1 To 120
            [/COLOR][color=#007700]If [/color][color=#0000bb]Con [/color][color=#007700]= [/color][COLOR=#0000bb]32 Then
                Console[/COLOR][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#0000bb]Con[/color][COLOR=#007700])
                [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700]()
                Exit For
            [/COLOR][color=#0000bb]End [/color][COLOR=#007700]If
        [/COLOR][COLOR=#0000bb]Next
    End Sub
End Module

سيتم طباعة الرقم 32  
[/COLOR][/COLOR]




الحلقــــة التكرارية For Each :


حلقة رائعة تستخدم مع المصفوفات مبدئيــا ....


كود :
[COLOR=#000000][COLOR=#0000bb]Module Module1
    Sub Main[/COLOR][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim x [/color][color=#007700]As [/color][COLOR=#0000bb]Integer
        Dim Y[/COLOR][color=#007700]([/color][color=#0000bb]5[/color][color=#007700]) As [/color][COLOR=#0000bb]Integer
        [/COLOR][color=#007700]For [/color][COLOR=#0000bb]Each x In Y
            Console[/COLOR][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#0000bb]x[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700]()
        [/COLOR][COLOR=#0000bb]Next
    End Sub
End Module  
[/COLOR][/COLOR]

سيتم طبع ال x ( 5 مرات ) فهى داخل كل Y وال Y تحمل القيمة 5


هذه الحلقة رائعة جدا عند التعامل مع قواعد البيانات فتخيل مثلا
أن Y تحمل Table جدول معين وال x تحمل Row خالى !!!!!!!!!


الحلقة التكرارية DO …. Loop :

هذه الحلقة قوية ومرنة لدرجة كبيرة لتمكنك من فعل شئ مثل ..



كود :
[COLOR=#000000][COLOR=#0000bb]Module Module1
    Sub Main[/COLOR][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim x [/color][color=#007700]As [/color][COLOR=#0000bb]Int32
        [/COLOR][color=#007700]Do [/color][color=#0000bb]Until x [/color][color=#007700]= [/color][COLOR=#0000bb]1
            Console[/COLOR][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#0000bb]x[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700]()
        [/COLOR][COLOR=#0000bb]Loop
    End Sub
End Module  
[/COLOR][/COLOR]



فى المثال السابق سيتم العد حتى يتحقق الشرط وتكون x = 1 وهو عمل الكلمة Until
اى انها سوف تظل تعمل حتى يتحقق الشرط المعطى لها.


كود :
[COLOR=#000000][COLOR=#0000bb]

فلو كتبناها هكذا

Module Module1
    Sub Main[/COLOR][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim x [/color][color=#007700]As [/color][COLOR=#0000bb]Int32
        [/COLOR][color=#007700]Do [/color][color=#0000bb]Until x [/color][color=#007700]= [/color][COLOR=#0000bb]1
            Console[/COLOR][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#0000bb]x[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700]()
            [/COLOR][color=#0000bb]x [/color][color=#007700]= [/color][COLOR=#0000bb]1
        Loop
    End Sub
End Module  
[/COLOR][/COLOR]

فلن يتم التنفيذ الا مرة واحدة.

استخدام While

عملها داخل الحلقة كعمل Until ولكنها تقوم بالتكرار مادام الشرط True تحقق


كود :
[COLOR=#000000][COLOR=#0000bb]Module Module1
    Sub Main[/COLOR][COLOR=#007700]()
        [/COLOR][color=#0000bb]Dim x [/color][color=#007700]As [/color][COLOR=#0000bb]Int32
        [/COLOR][color=#007700]Do While [/color][color=#0000bb]x [/color][color=#007700]= [/color][COLOR=#0000bb]1
            Console[/COLOR][color=#007700].[/color][color=#0000bb]WriteLine[/color][color=#007700]([/color][color=#0000bb]x[/color][COLOR=#007700])
            [/COLOR][color=#0000bb]Console[/color][color=#007700].[/color][color=#0000bb]Read[/color][COLOR=#007700]()
            [/COLOR][color=#0000bb]x [/color][color=#007700]= [/color][COLOR=#0000bb]1
        Loop
    End Sub
End Module  
[/COLOR][/COLOR]

يمكنك الخروج من هذه الحلقة بأستخدام Exit Do دون الوصول الى القيمة النهائية لهـا


هذه بعض المفاهيم الاساسية للمبتدئين واعذرونى على ضيق الوقت لعدم الاستفاضة.

السلام عليكم ورحمة الله وبركاتة.
}}}
تم الشكر بواسطة:


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


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