บทที่ 3 คำสั่งที่ใช้ในการควบคุมการทำงาน
จากการที่เราได้สร้างโปรแกรมกันมาบ้างแล้ว จะเห็นว่าโปรแกรมทำงานจากบนลงล่างและจากซ้ายไปขวาตามลำดับ
แต่ในบางครั้ง เราต้องการให้โปรแกรมสามารถเลือกทำงานตามเงื่อนไขของตัวแปรได้ด้วยซึ่งใน
eVB ได้เตรียมคำสั่งที่ใช้ตรวจสอบการทำงานตามเงื่อนไขที่ต้องการไว้แล้ว
คำสั่งในการควบคุมสามารถแบ่งได้ 2 ประเภทหลักดังนี้
- คำสั่งที่ใช้ในการตัดสินใจ (Decision Structures)
- คำสั่งในการทำซ้ำ (Loop Structures)
คำสั่งที่ใช้ในการตัดสินใจ (Decision Structures)
ในกรณีที่เราจำเป็นต้องตัดสินใจเลือกสิ่งใดสิ่งหนึ่ง เราจะใช้คำสั่งเงื่อนไข
(Condition) ในการตัดสินใจ โดยคำสั่งประเภทนี้จะแบ่งออกได้เป็น 2 คำสั่ง
คือ คำสั่ง If-then-Else และ คำสั่ง Select-Case
- คำสั่ง If-Then-Else เป็นคำสั่งที่มีรูปแบบดังนี้
If<นิพจน์ที่เป็น Boolean> then
"คำสั่งสำหรับนิพจน์ที่มีค่าเป็น True
else
"คำสั่งสำหรับนิพจน์ที่มีค่าเป็น False
end If
ตัวอย่าง
if price>20 then
MsgBox "Too expensive"
else
MsgBox "Price is OK"
end If
|
- คำสั่ง Select-Case เป็นคำสั่งใช้ในการเลือกเส้นทางการทำงานของโปรแกรมจากค่าของนิพจน์ที่กำหนดเป็นคำสั่งที่มีรูปแบบต่อไปนี้
Select Case <นิพจน์>
Case<ค่าของนิพจน์กลุ่มแรก>
"คำสั่งที่ทำงานเมื่อค่านิพจน์ตรงกับค่าในกลุ่มแรก
Case<ค่าของนิพจน์กลุ่มที่ 2>
"คำสั่งที่ทำงานเมื่อค่านิพจน์ตรงกับค่าในกลุ่ม 2
Case Else
"คำสั่งเมื่อไม่ตรงกับกรณีไหนเลย
End Select
ตัวอย่าง
Name=-1
Select Case Number
Case 1,2,3
MsgBox "Between 1 And 3"
Case 4,5,6,7,8
MsgBox "Between 4 And 8"
Case Number>8
MsgBox "Greather than 8"
Case Else
MsgBox "Not positive number"
End Select
|
คำสั่งที่ใช้ในการทำงานซ้ำ
เราสามารถใช้คำสั่งที่จะกล่าวถึงในหัวข้อนี้ ในการทำงานซ้ำเป็นจำนวนครั้งที่แน่นอน
หรือจนกว่าจะทำให้เงื่อนไขเป็นดังที่เราต้องการได้ คำสั่งที่จะกล่าวถึงมี
2 คำสั่ง คือ
- คำสั่ง For-Next
- คำสั่ง Do-Loop
- คำสั่ง For-Next คำสั่งนี้จะใช้ในการทำงานซ้ำเป็นจำนวนครั้งที่แน่นอน
โดยมีรูปแบบดังนี้
For<ชื่อตัวแปร>=<ค่าเริ่มต้น>To<ค่าสุดท้าย> [step]<ค่าที่เพิ่มขึ้นของตัวแปร>1
"ชุดคำสั่ง
Next
ตัวอย่าง
Dim I
For I=0 to 10 step 2
MsgBox I
Next
|
- คำสั่ง Do-Loop เป็นคำสั่งที่ใช้ในการทำซ้ำ โดยจำนวนครั้งในการซ้ำขึ้นอยู่กับเงื่อนไขหลังคำว่า
while หรือ until รูปแบบของคำสั่งจะเป็นดังนี้
Do While<condition>
"ชุดคำสั่ง
Loop
|
Do
"ชุดคำสั่ง
Loop While<condition>
|
Do Until<condition>
"ชุดคำสั่ง
Loop
|
ตัวอย่าง
|
Dim I
Do While I<10
MsgBox I
I=I+1
Loop
|
Dim I
Do
MsgBox I
I=I+1
Loop While I<10
|
|