וובמאסטר - תיכנות ובניית אתרים

מדריך VBS - לולאות

entry/‏ 3 ספטמבר, 2003
F+
F-

מהי לולאה?

לפעמים אנו נתקלים במצב בו אנו רוצים לבצע קטע קוד מסויים כמה פעמים. הלולאות מאפשרות לנו לעשות זאת, ללא חזרה על אותה שורת קוד.
ישנן כמה דרכים לבצע לולאות ב-VBScript :



לולאות For ..Next

For <Variable> = <Value> To <Value>
    'some code            
Next 
נשתמש בסוג זה של לולאה, כאשר אנו יודעים בדיוק כמה פעמים אנו רוצים לבצע את קטע הקוד. בדוגמא הבאה, אנו סוכמים את כל המספרים מ-1 עד 10:

Dim i,num
For i=1 To 10
    num=num+i
Next
כמובן שגם המספרים בלולאה (1 ו-10) יכולים להיות משתנים בעצמם.
כל פעם שמגיעים לשורה Next, ערכו של המשתנה i עולה באחד. כאשר i מגיע ל-11 (גדול מ-10), הלולאה מסתיימת.
דרך נוספת לסיים את הלולאה היא באמצעות הפקודה Exit for. לרוב נבדוק בתוך הלולאה האם תנאי מסויים, בו אנו רוצים לסיים את הלולאה, מתקיים, ואם כן - נפעיל את הפקודה.

בדוגמא הקודמת ראינו לולאה המבצעת קפיצות של 1. אך יש ביכולתינו לשנות פרמטר זה, ע"י הפקודה step. בלולאה הבאה, אנו מבצעים קפיצות של 3:

For i=1 To 10 Step 3
    str=str & "," & i
Next
בסופה של הלולאה, str תכיל את המחרוזת "1,4,7,10"

באמצעות הפקודה Step ניתן גם לקבוע שהלולאה תרוץ "אחורנית":

For i=10 to 1 Step -1
    num=num+i
Next
במקרה זה, המשתנה i מתחיל מהערך 10 ויורד במשך הלולאה עד הערך 1.



לולאות Do While

Do While <Condition>
    'some code
Loop
נשתמש בלולאה זו, כאשר אנו מעוניינים לבצע קטע קוד מסויים כל עוד תנאי כלשהו מתקיים:

Do While i>10
  'some code
Loop
לולאה זו תתקיים כל עוד i גדול מ-10. אם מלכתחילה, עוד לפני תחילת הלולאה, i קיבל ערך שהוא קטן מ-10, הלולאה לא תתבצע אפילו פעם אחת.
בלולאות מסוג זה יש להקפיד ולוודא שתנאי העצירה של הלולאה אכן יתקיים אי פעם. אם זה לא יקרה, אנו נגיע למצב של לולאה אינסופית - לולאה שאין ממנה יציאה. לכן, בדוגמא למעלה, יש לוודא שהערך של i בתוך הלולאה משתנה, ושיהיה מצב בו i יהיה קטן מ-10:

Do While i>0
    i=i-1 
    'some code
Loop



לולאות Do Until

Do Until <Condition>
    'some code
Loop
לולאה זו דומה ללולאת Do While, רק שזו מתבצעת כל עוד התנאי אינו מתקיים, כלומר, היא תתבצע "עד ש" משהו יקרה.

Do Until i=10
  'some code    
Loop
גם בלולאה זו, יש לוודא שתנאי העצירה אכן יתקיים.
בכל הלולאות האלו, ניתן לסיים את ריצת הלולאה גם אם תנאי העצירה לא מתקיים, באמצעות הפקודה Exit Do.

סוג לולאה נוסף הוא For Each...Next, עליו נדון בפרק הבא.

entry

סטודיו לבניית אתרים שהוקם בינואר 2005
אתר: http://www.entry.co.il
תגיות: VBS‏  /  VBScript‏  /  לולאה‏  /  while‏  /  do‏  /  loop‏  /  for‏  

תגובות בפייסבוק

תגובות למאמר



עוד במדריך

תגיות פופולאריות

X
הצטרף לעמוד שלנו בפייסבוק להישאר מעודכן!
וובמאסטר © כל הזכויות שמורות