2- حلقة التكرار For...Next...Step
الصيغة :
كود:
For Variable = Startcount to Endcount [ Step { Stepval } ]
{code body}
Next
الغرض :
تستخدم حلقة For…Next لتنفيذ عبارة أو سلسلة من العبارات عدد محدد من المرات .
العوامل :
Variable : يشير إلى متغير لفهرس index يستخدم كعداد للحلقة . يمكن استخدام هذا المتغير فى جسم الكود لكن يجب الحذر من تغيير قيمته داخل الحلقة حيث يمكن أن يسبب العديد من المشاكل .
Startcount :"عدد البداية" العدد الذى تبدأ به الحلقة ، والذى سوف يخصص للمتغير كحالة ابتدائية . ولا يشترط أن يكون عدد فعلى ، بل يمكن أن يكون محتويات متغير آخر .
Endcount : "عدد النهاية" العدد الذى تنتهى عنده الحلقة ، ولا يشترط أن يكون عدد فعلى ، بل يمكن أن يكون محتويات متغير آخر أو تعبير .
Stepval : "قيمة الخطوة" ثابت أو متغير اختيارى والذى بواسطته يتم "تزايد" أو "تناقص" المتغير عند كل تكرار من خلال حلقة For-Next . إذا كانت قيمة البداية startcount أكبر من قيمة النهاية endcount عندئذ يجب وضع علامة الطرح قبل قيمة الخطوة stepval..
مثال 1 :
كود:
' Display in decimal, all the values of Wrd within an upward loop
Dim Wrd as Word
For Wrd = 0 to 2000 Step 2 ' Perform an upward loop
Print Dec Wrd ," " ' Display the value of Wrd
Next ' Close the loop
مثال 2 :
كود:
' Display in decimal, all the values of Wrd within a downward loop
Dim Wrd as Word
For Wrd = 2000 to 0 Step -2 ' Perform a downward loop
Print Dec Wrd ," " ' Display the value of Wrd
Next ' Close the loop
مثال 3 :
كود:
' Display in decimal, all the values of Dwrd within a downward loop
Dim Dwrd as Dword
For Dwrd = 200000 to 0 Step -200 ' Perform a downward loop
Print Dec Dwrd ," " ' Display the value of Dwrd
Next
مثال 4 :
كود:
' Display all of Wrd1 using a expressions as parts of the For-Next construct
Dim Wrd1 as Word
Dim Wrd2 as Word
Wrd2 = 1000
For Wrd1= Wrd2 + 10 to Wrd2 + 1000 ' Perform a loop
Print Dec Wrd1," " ' Display the value of Wrd1
Next ' Close the loop
ملاحظات :
· لعلك لاحظت من الأمثلة أعلاه ، أنه لا يوجد متغير بعد الأمر Next . المتغير بعد Next هو اختيارى بحت .
· قد تتداخل حلقات For-Next بالعمق الذى تسمح به ذاكرة الميكروكونترولر .
· للخروج من الحلقة يمكنك استخدام الأمر Goto دون أى آثار سيئة، وهذا بالضبط ما يفعله الأمر Break كما يلى :
كود:
For Var1 = 0 to 20 ' Create a loop of 21
If Var1 = 10 Then Goto BreakOut ' Break out of loop when Var1 is 10
Next ' Close the loop
BreakOut:
Stop
المشروع :