בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > ASP > VBScript

לולאות ב-VBScript

בכל שפת תכנות ישנן לולאות.
לולאות הן פקודות אשר מאפשרות לנו לגרום לקטע קוד לחזור על עצמו מספר פעמים שאותו אנו יכולים לקבוע חפי מספר פעמים או להתנות את ביצוע הלולאה בתנאי מסויים.
הלולאות מאוד דומות בין שפה לשפה אך צורת כתיבתן (Syntax) בדרך כלל שונה.
במאמר זה אסביר על לולאות ב-VBScript שאיתן נעבוד ב-ASP ובכלל ב-HTML.

לולאות ב-VBScript

ישנן מספר סוגי לולאות והן:

For... Next
While תנאי... Wend
Do... Loop Until תנאי

כעת אסביר מה ההבדל בין סוגי הלולאות וכיצד משתמשים בכל אחת מהן.

For... Next

For... Next For i = 1 To 10 Response.Write i & ", " Next הפלט יראה כך: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

דוגמא זו תכתוב את המספרים 1 עד 10 אחד ליד השני כאשר הם מופרדים בפסיקים.
בלולאת For אנו מגדירים ללולאה לרוץ ממספר אינדקס מסוים עד מספר אחר ובתוך הלולאה עצמה, אנו יכולים להשתמש באינדקס (i) היכן שנחפוץ.
הקוד אשר יתבצע מספר פעמים כנדרש ימצא בין המילה For לסוגר שלה, Next.
ניתן להשתמש בלולאת For רק כאשר הגבלת מספר החזרות היא למספר מסוים של חזרות ואנחנו לא תלויים בתנאים אלא במספר הפעמים שעלינו לבצע את הלולאה.
כמו כן, במקום במספרים ניתן להשתמש במשתנים או אף באותיות. להלן דוגמא לשימוש באותיות:

For i = 65 To 90 Response.Write chr(i) & ", " Next דוגמא זו תכתוב למסך את האותיות הלועזיות מ-A ועד Z כאשר הן מופרדות בפסיקים.
הפלט יראה כך: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,

במידה ואין אנו מעוניינים לעבור על הלולאה כאשר בכל פעם האינדקס עולה באחד, ניתן להשתמש בפקודת Step ולקבוע כמה יעלה המונה בכל פעם שהלולאה תתבצע.
להלן דוגמא ללולאה שתרוץ על המספרים מ-1 עד 10 בקפיצות של 2:

For i = 1 To 10 Step 2 Response.Write i & ", " Next הפלט יראה כך: 1, 3, 5, 7, 9, אם ברצוננו שהאינדקס ירד בכל פעם שהלולאה מתבצעת, חובה עלינו לומר ללולאה לרוץ מהמספר הגבוה לנמוך וחייבים להגדיר את ה Step כמספר השלילי בו אנו רוצים שהמדרגה תרד, גם אם מדובר במספר 1- אחרת הלולאה לא תתבצע כלל וכלל.

דוגמא פשוטה לשימוש בלולאת For היא בניית לוח הכפל.

For y = 1 To 10 For x = 1 To 10 Response.Write x*y & " " Next Response.Write "<BR>" Next הפלט יראה כך: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100

במידה ובמצב כלשהו ברצוננו לתת פקודה אשר תפסיק את הלולאה, ניתן לעשות זאת על ידי פקודת End For.
לא מומלץ בשום פנים ואופן להשתמש בפקודה זו וגם אם הגעתם למצב שבו אתם חושבים שאין לכם ברירה, נסו לחשוב שובת מכיוון שזהו דבר שפשוט לא עושים. ואם אתם חושבים אחרת, לכו תשאלו מתכנת מנוסה מה דעתו בנושא...

While תנאי... Wend

לולאת While שימושית לנו כאשר ברצוננו לבצע לולאה מסויימת כל עוד התנאי שלה מתקיים. ברגע שהתנאי יחדול מלהיות נכון, הלולאה תפסיק להתבצע.

i = 1 While i < 10 Response.Write i & ", " i = i + 1 Wend הפלט יראה כך: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

הלולאה מתבצעת כל עוד ערכו של משתנה i קטן מ-10. תחום הלולאה הוא בין המילה While למילה Wend.
בתוך הלולאה, הורנו למשתנה i לעלות כל פעם ב-1 בעת ביצוע הלולאה, ולכן לאחר 9 פעמים שהלולאה מתבצעת ערכו של i יהיה 10 ואז בפעם ה-10 הלולאה כבר אינה מתבצעת מכיוון שהתנאי שלה כבר לא נכון.
בלולאת While יש להקפיד שהגדרנו תנאי אשר יתקיים בשלב כלשהו, אחרת לולאה זו תהיה לולאה אין סופית שהיא אחד האוייבים הגדולים ביותר של המתכנתים בכל השפות.
לולאה אין סופית תכביד מאוד על השרת ותאט את פעילותו ולרוב אף תגרום למחשב להתקע. (ואנחנו ממש לא רוצים...)

דוגמא לשימוש בלולאת While היא לעבור על כל הרשומות באובייקט מסוג RecordSet והצגתן:

Do... Loop Until תנאי

לולאת Do דומה מאוד ללולאת While רק שההבדל בינהן הוא שללולאת While בודקת תחילה אם התנאי מתקיימת ורק במידה והוא מתקיים היא מתחילה להתבצע בעוד לולאת Do דבר ראשון מבצעת את הקוד ורק בסיום כל מחזור היא בודקת את קיום התנאי. עובדה זו מאפשרת לנו לדעת בוודאות כי לולאת Do תרוץ לפחות פעם אחת.

i = 1 Do Response.Write i & ", " i = i + 1 Loop Until i > 10 הפלט יראה כך: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

דוגמא לשימוש בלולאת Do היא לעבור על מחרוזת ולחשב כמה פעמים מופיעה בה תת-מחרוזת מסויימת.

בקרוב אשתדל להרחיב את המאמר ולכתוב גם על לולאות בשפת JavaScript



התגובות שלכם

         
01. 22/09/2005  Daniel
זו הפעם הראשונה שאני מאוד מרוצה מההסברים והדוגמאות.
אני ממש צריך דחוף דוגמאות ב-JavaScript אשמח אם תוסיף הסבר בנושא...


מחבר: אדם ליבסקירמת קושי: 1  ||  ציון: (7.42857142857143)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם