Looping การวนรอบ บทที่ 4
การวนรอบ (Looping) ในการทำงานของโปรแกรม อาจมีการทำงานที่ซ้ำๆเดิม การที่เราจะเขียนให้โปรแกรมทำงานซ้ำๆกันก็จะเป็นการเสียเวลา เราสามารถใช้คำสั่งให้โปรแกรมทำงานซ้ำๆกันได้ คำสั่ง For Next, Do While, Do Until
คำสั่ง For Next เป็นคำสั่งให้วนรอบที่เราสามารถกำหนดจำนวนรอบได้เลย รูปแบบ For (จำนวนรอบ) คำสั่ง 1 คำสั่ง 2 .. Next (ค่าตัวนับ)
ตัวอย่างโค๊ด Dim i as Integer For i = 1 To 10 MsgBox(“Hello”) Next i Dim m as Integer For i = 1 To 10 MsgBox(“i = ” & i) m = m + 5 Next i MsgBox(“m = ” & m)
ตัวอย่างการประยุกต์ใช้ สร้างฟอร์มขึ้นมาตามรูปด้านล่าง ดับเบิ้ลคลิกที่ปุ่ม แล้วเขียนโค๊ดลงไปตามหน้าต่อไป Text1 Text2 Command1
โค๊ด
Do While Loop เป็นคำสั่งที่จะวนรอบ หากเงื่อนไข เป็นจริง รูปแบบ คำสั่ง 1 คำสั่ง 2 .. Loop
ตัวอย่างโค๊ด ข้อควรระวัง ตัวอย่างที่ 1 Dim i as Integer i = 0 Do While i < 10 Label1.Text = i i = i + 1 Loop ตัวอย่างที่ 2 Dim i as Integer Do While i < 20 MsgBox(“Hello”) i = i + 5 Loop ข้อควรระวัง การวนรอบไม่รู้จบ เช่นจากตัวอย่างที่ 1 ลองลบบรรทัดที่ 5 ทิ้งไป
ตัวอย่างการประยุกต์ สร้างฟอร์มขึ้นมาตามรูป ดับเบิ้ลคลิ้กที่ปุ่มแล้วเขียนโค๊ดตามหน้าถัดไป
โค๊ด
คำสั่ง Do Until จะวนรอบ จนกว่า เงื่อนไขจะเป็นจริง รูปแบบ คำสั่ง 1 คำสั่ง 2 .. Loop
ตัวอย่างโค๊ด Dim i as Integer i = 0 Do Until i > 10 Text1.Text = i i = i + 1 Loop Dim i as Integer i = 20 Do Until i < 5 MsgBox(i) i = i – 1 Loop
ตัวอย่างการประยุกต์ สร้างฟอร์มขึ้นมาตามรูป ดับเบิ้ลคลิ้กที่ปุ่มแล้วเขียนโค๊ดตามหน้าต่อไป
โค๊ด
โจทย์ จงเขียนโปรแกรมเพื่อรับข้อมูลเป็นตัวเลขแล้วนำตัวเลขมาแสดงใน MessageBox โดยลดค่าทีละ 1 จงเขียนโปรแกรมเพื่อรับข้อมูลเป็นตัวเลขแล้วนำมาเขียนต่อท้าย Label จำนวน 5 ครั้ง จงเขียนโปรแกรมเพื่อรับข้อมูลเป็นตัวเลขแล้ว แล้วคำนวณหาค่าบวกที่ลดลง เช่น หากป้อน 10 เข้ามาก็หา 10+9+8+7+6+5+4+3+2+1 ว่ามีค่าเท่าไร