4.4
การควบคุมทิศทางของโปรแกรม ในภาษา OpenOffice / LibreOffice Basic
การควบคุมทิศทางของโปรแกรมในที่นี้
หมายถึง
กลุ่มชุดคำสั่งที่ใช้ในการควบคุมกระแสการทำงานของโปรแกรม
ซึ่งประกอบด้วยกลุ่มชุดคำสั่งเลือกทิศทางการทำงานของโปรแกรม,
กลุ่มชุดคำสั่งเลือกผลลัพธ์,
กลุ่มชุดคำสั่งควบคุมการวนซ้ำ
และกลุ่มชุดคำสั่งจัดการข้อผิดพลาด
4.4.1
กลุ่มคำสั่งเลือกทิศทางการทำงานของโปรแกรม
กลุ่มคำสั่งเลือกทิศทางการทำงานของโปรแกรม
เป็นกลุ่มชุดคำสั่งที่มีการตรวจสอบเงื่อนไข
แล้วเลือกดำเนินการอย่างใดอย่างหนึ่งในขั้นตอนถัดๆ
ไป กลุ่มชุดคำสั่งในกลุ่มนี้
ได้แก่ ชุดคำสั่ง IF...THEN...ELSE
และชุดคำสั่ง
SELECT...CASE
4.4.1.1
ชุดคำสั่ง
IF...THEN...ELSE
ชุดคำสั่ง
IF...THEN...ELSE
เป็นกลุ่มชุดคำสั่งที่มีการตรวจสอบเงื่อนไข
แล้วเลือกดำเนินการอย่างใดอย่างหนึ่งสำหรับกรณีที่การตรวจสอบเงื่อนไขให้ค่าเป็นค่าจริง
(True)
และเลือกดำเนินการอย่างใดอย่างหนึ่งสำหรับกรณีที่การตรวจสอบเงื่อนไขให้เป็นค่าเท็จ
โดยรูปแบบชุดคำสั่งมีดังนี้
รูปแบบชุดคำสั่ง
:
If
(condition1=true) Then
Statement
block1
[ElseIf
(condition2=true) Then]
Statement
block2
[Else]
Statement
block3
End
If
|
โดยที่
condition1,2 หมายถึง
กลุ่มชุดคำสั่งเกี่ยวกับการเปรียบเทียบค่าที่ให้ผลเป็นค่าจริง
(True)
หรือเท็จ
(False)
Statement
block1 หมายถึง
กลุ่มชุดคำสั่งที่จะดำเนินการต่อ
เมื่อส่วน condition1
ให้ผลเป็นค่าจริง
Statement
block2 หมายถึง
กลุ่มชุดคำสั่งที่จะดำเนินการต่อ
เมื่อส่วน condition2
ให้ผลเป็นค่าจริง
(เฉพาะกรณีที่ส่วน
ElseIf
เท่านั้น)
Statement
block3 หมายถึง
กลุ่มชุดคำสั่งที่จะดำเนินการต่อ
เมื่อส่วน condition1
หรือ
condition2
ให้ผลเป็นค่าเท็จ
ตัวอย่างที่
4-2
: ตัวอย่างการใช้คำสั่ง
IF-THEN-ELSE
SUB
Example04_02
Dim
iTestValue As Integer
iTestValue =
InputBox (“ใส่ตัวเลขที่เป็นจำนวนเต็ม”,
“ใส่ค่าตัวเลข”)
If
((iTestValue MOD 3) = 1) Then
MsgBox
“เหลือเศษ
1”
ElseIf
((iTestValue MOD 3) = 2) Then
MsgBox
“เหลือเศษ
2”
Else
MsgBox
“ไม่เหลือเศษ”
End If
END
SUB
|
![]() |
รูปที่
4-3
ตัวอย่างไดอะล็อกจากคำสั่ง
InputBox
|
![]() |
รูปที่
4-4
ผลการหาเศษของการหารด้วย
3
จากตัวอย่าง
Example04_02
|
คำสั่ง
IIF()
เป็นชุดคำสั่งที่ถูกพัฒนาเพิ่มเติมจากคำสั่ง
IF-THEN-ELSE
เป็นชุดคำสั่งที่มีลักษณะเป็นฟังก์ชัน
ใช้ในกรณีที่มีคำสั่งที่ต้องดำเนินการต่อในกรณีที่เงื่อนไขเป็นจริง
(THEN)
และกรณีที่เงื่อนไขเป็นเท็จ
(ELSE)
เพียงอย่างละ
1
ชุด
หรืออย่างใดอย่างหนึ่งเพียง
1
คำสั่ง
โดยมีรูปชุดคำสั่งดังนี้
รูปแบบชุดคำสั่ง
:
Result = IIf
(Expression, ExpressionTrue, ExpressionFalse)
โดยที่
Result หมายถึง
ผลการทำงานของคำสั่ง IIF()
Expression หมายถึง
กลุ่มชุดคำสั่งเกี่ยวกับการเปรียบเทียบค่าที่ให้ผลเป็นค่าจริง
(True)
หรือเท็จ
(False)
ExpressionTrue หมายถึง
ชุดคำสั่งที่จะดำเนินการต่อกรณีที่เงื่อนไขเป็นจริง
ExpressionFalse
หมายถึง
ชุดคำสั่งที่จะดำเนินการต่อกรณีที่เงื่อนไขเป็นเท็จ
ตัวอย่าง
ชุดคำสั่ง IF-THEN-ELSE
ที่อยู่ในต้นฉบับโปรแกรมดังนี้
If
((iTestValue MOD 2) = 1) Then
MsgBox
“เหลือเศษ
1”
Else
MsgBox
“ไม่เหลือเศษ”
End If
สามารถเขียนให้อยู่ในรูปของชุดคำสั่ง
IIF()
ได้ดังนี้
MsgBox
IIf ((iTestValue MOD 2) = 1), “เหลือเศษ
1”,
“ไม่เหลือเศษ”)
|
4.4.1.2
ชุดคำสั่ง
SELECT...CASE
ชุดคำสั่ง
SELECT...CASE
เป็นชุดคำสั่งที่มีการตรวจสอบเงื่อนไขที่ให้ผลเป็นค่าอื่นๆ
ที่ไม่ใช่ค่าจริง (True)
หรือ
เท็จ (False)
ซึ่งสามารถมีทางเลือกสำหรับดำเนินการขั้นต่อไปหลายทางเลือก
โดยมีรูปแบบชุดคำสั่งดังนี้
รูปแบบชุดคำสั่ง
:
Select
Case Condition
Case
Expression1
Statement
Block
[Case
Expression2
Statement
Block]
....
[Case
ExpressionN
Statement
Block]
[Case
Else]
Statement
Block
End
Select
|
โดยที่
Condition
หมายถึง
เงื่อนไขสำหรับเลือกดำเนินการ
Expession1 หมายถึง
ค่าเปรียบเทียบชุดที่ 1
Expession2 หมายถึง
ค่าเปรียบเทียบชุดที่ 2
ExpessionN หมายถึง
ค่าเปรียบเทียบชุดที่ N
Statement
Block หมายถึง
กลุ่มชุดคำสั่งที่จะดำเนินการต่อไป
ตัวอย่างที่
4-3
: ตัวอย่างการใช้คำสั่ง
SELECT...CASE
SUB
Example04_03
Dim
iTestValue As Integer
iTestValue =
InputBox (“ใส่ตัวเลขที่เป็นจำนวนเต็ม”,
“ใส่ค่าตัวเลข”)
Select Case
(iTestValue MOD 3)
Case 1
'กรณีเหลือเศษเท่ากับ
1
MsgBox
“เหลือเศษ
1”
Case 2
'กรณีเหลือเศษเท่ากับ
2
MsgBox
“เหลือเศษ
2”
Case Else
MsgBox
“ไม่เหลือเศษ”
End Select
END
SUB
|
บันทึกประจำวันที่
19
มิถุนายน
พ.ศ.
2557 (2014)
เวลา
|
เหตุการณ์
|
||
06:00 น. | ตื่นนอน อ่านวารสารเกษตรกรรมธรรมชาติ | ||
07:00 น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา (3/2557):ตัดหญ้าเตรียมพื้นที่ปลูกข้าวโพด
|
||
08:30 น. |
|
||
09:00 น. |
เดินทางไปตลาดด่านช้าง,
แวะเติมน้ำมันที่ปั้มหน้าโรงเรียนนิคมฯ
2,
แวะเบิกเงินที่ตู้
ATM
ธ.
กรุงไทย,
แวะซื้อถุงเพาะต้นไม้ที่ร้านยุทธนา,
ไปเบิกเงืนที่ตู้
ATM
ธกส.,
แวะซื้อมูเลร้านนานาจักรกล,
แวะซื้อของตลาดสด,
ซื้ออาหารปลาร้านข้างต้นมะยม,
ซื้อยาแก้ปวดหัวร้านสุวรรณเวช,
แวะจ่ายค่างวดรถที่ร้านเม้งฮวด,
แวะกินเย็นตาโฟที่ร้านข้างวัดนาตาปิ้น,
แวะบ้านกฤษณะเนื่องจากอา-จอมต้องการปุ๋ยนาโน,
แวะเปลี่ยนยางรถมอเตอร์เไซด์และผ้าเบรกที่ร้านหน้าวัดสามแยก,
แวะจ่ายค่าข้าวร้านพี่มะลิ,
กลับถึงบ้าน
|
||
15:00 น. | พักผ่อน | ||
15:30 น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ บ้านแม่ทำ
สีทา
(3/2557):ประกอบมูเลเข้ากับมอเตอร์ปั้มชักพลังงานโซลาร์เซลล์ทดแทนตัวเก่าที่แปรงถ่านหมด
แล้วหาอะไหล่ในท้องถิ่นไม่ได้
|
||
17:30 น. | ลองถอดประกอบมอเตอร์กระแสตรง 20 rpm | ||
18:15 น. |
อาบน้ำ
ทำบันทึกประจำวันของวันก่อน
ทำบัญชีครัวเรือน
|
||
19:45 น. |
|
||
20:15 น. | ลองเชื่อมต่ออินเตอร์เน็ต แต่เข้าเว็บไซต์ไม่ได้ | ||
21:00 น. | เข้านอน |