การเขียนโปรแกรมแบบมีเงื่อนไข

 

1. การใช้ประโยคคำสั่ง If…Then…Else

                จากโปรแกรมที่ผ่านมา ในโปรแกรมย่อยแต่ละส่วนเป็นการทำงานทีละคำสั่งตามลำดับขั้นสามารถเขียนเป็นผังงาน(Flowchart) ได้ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 


สัญลักษณ์ที่ใช้ในการเขียนผังงาน(Flowchart) มีดังนี้

สัญลักษณ์

ความหมาย

จุดเริ่มต้น(Start) หรือ จุดสิ้นสุด(Stop หรือ End)

เส้นทาง (Direction)

การคำนวณหรือการประมวลผล(Process)

การทำงานตามกระบวนคำสั่งหรือฟังก์ชัน(Predefined Process)

 

 

สัญลักษณ์

ความหมาย

การตัดสินใจ(Decision)

การเตรียมการ(Preparation)หรือการกำหนดค่าเริ่มต้น(Initialization)

การป้อนข้อมูล(Manual Input)

การแสดงผลที่จอ(Display)

การพิมพ์เอกสาร(Document)

การบันทึกหรือนำเข้าข้อมูล(Stored Data)

จุดต่อในหน้าเดียวกัน(On-Page Connector)

จุดต่อระหว่างหน้า(Off-Page Connector)

 

                แต่ในการใช้งานทั่วไปแล้วบางขั้นตอนจะมีเงื่อนไขการทำงานต่างๆ ซึ่งต้องทดสอบเงื่อนไขเพื่อแยกแยะการทำงานให้เป็นไปตามที่ต้องการ ถ้าเงื่อนไขเป็นจริงจะให้ทำอะไร ถ้าเงื่อนไขเป็นเท็จจะให้ทำอะไร และเมื่อจบการทดสอบเงื่อนไขแล้วจะทำอะไรต่อไป เขียนเป็นผังงานได้ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1. ประโยคคำสั่ง If…Then…Else

                ใช้สำหรับทดสอบเงื่อนไข มีรูปแบบที่สอดคล้องกับผังงาน ดังนี้

If  เงื่อนไข  Then

            ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไขเป็นจริง

                ประโยคคำสั่ง

Else

            ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไขเป็นเท็จ

                ประโยคคำสั่ง

End If

 
               

 

 

 

 

 

 

 

 

                ความหมาย

                ถ้าผลของการทดสอบเงื่อนไขเป็นจริง(True) ให้ทำงานตามประโยคคำสั่งหลัก Then (ซึ่งอาจมีหลายประโยคคำสั่งก็ได้) แต่ถ้าของการทดสอบเงื่อนไขไม่เป็นจริง(False) ให้ทำงานตามประโยคคำสั่งหลัง Else (ซึ่งอาจมีหลายประโยคคำสั่งก็ได้เช่นกัน) และจบการทดสอบเงื่อนไขด้วย End If

 

                ลักษณะของเงื่อนไข

                ลักษณะของเงื่อนไข(Condition) เป็นการนำค่าข้อมูลที่เป็นแบบเดียวกันสองค่ามาเปรียบเทียบกันว่าเท่ากันหรือต่างกันอย่างไร โดยใช้เครื่องหมายเปรียบเทียบ(Comparison Operators) ดังต่อไปนี้

 

เครื่องหมาย

ความหมาย

=

เท่ากัน

< 

น้อยกว่า

<=

น้อยกว่า หรือเท่ากัน

> 

มากกว่า

>=

มากกว่า หรือเท่ากัน

< >

ไม่เท่ากัน

 

ผลลัพธ์ที่ได้จากการเปรียบเทียบจะเป็นจริง(True) หรือเป็นเท็จ(False) เท่านั้น

 

ตัวอย่างการเขียนเงื่อนไข

เงื่อนไข

เป็นจริงถ้า

เป็นเท็จถ้า

A = B

ค่าของ A เท่ากันกับค่าของ B

ค่าของ A ไม่เท่ากันกับค่าของ B

A < B

ค่าของ A น้อยกว่าค่าของ B

ค่าของ มากกว่าหรือเท่ากันกับค่าของ B

A >= B

ค่าของ A มากกว่าหรือเท่ากนกับค่าของ B

ค่าของ A น้อยกว่าค่าของ B

A < > B

ค่าของ A ไม่เท่ากับค่าของ B

ค่าของ A เท่ากับค่าของ B

 

ตัวอย่างการเขียนประโยคคำสั่ง If…Then…Else

ถ้ากำหนดเงื่อนไขการทำงาน ดังนี้

-                   ทดสอบว่าค่า A ไม่เท่ากับ B จริงหรือไม่

- ถ้าจริง ให้แสดงข้อความ “A ไม่เท่ากับ

- ถ้าไม่จริง(เท็จ) ให้แสดงข้อความ “A เท่ากับ

เขียนประโยคคำสั่งได้ ดังนี้

If A < > B Then

            MsgBox( “A ไม่เท่ากับ B”)

Else

            MsgBox( “A เท่ากับ B”)

End If

 
 

 

 

 

 

 


หมายเหตุ ก. การใช้ประโยคคำสั่ง If…Then…Else มีลักษณะเป็นชุด(Block) ซึ่งต้องเขียนให้ครบ ถ้าขาด End If ไปจะเกิดความผิดพลาดดังนี้

                ‘If’ must end with a matching ‘End If’.

                หมายถึง “If  ต้องจบด้วย End If”

                ข. การแสดงข้อความใช้กล่องข่าวสาร(MessageBox) ตามรูปแบบ ดังนี้

                                MsgBox(“ข้อความ”)

 

กิจกรรมที่ 5.1

                ให้โครงงาน Decision1 เพื่อทำให้โปรแกรมป้อนค่า A และ B แล้วทดสอบเงื่อนไขตามตัวอย่าง

 

2. ประโยคคำสั่ง If…Then…End If

                ถ้าต้องการให้ทำประโยคคำสั่ง(ใช้หลายประโยคคำสั่ง) เฉพาะกรณีที่เงื่อนไขเป็นจริง และต้องทำอะไรเมื่อเงื่อนไขเป็นเท็จ ไม่จำเป็นต้องมี Else               

                ประโยคคำสั่ง If  จะกลายเป็นรูปแบบที่ 2 ดังนี้

If  เงื่อนไข Then

                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไขเป็นจริง

                ประโยคคำสั่ง

End If

 

 
               

 

 

 

 

 

                การเขียนประโยคคำสั่ง If  ในรูปแบบนี้ ก็ยังคงต้องใช้ End If ถ้าไม่มีก็จะเกิดความผิดพลาดเหมือนกันคือ “If ต้องจบด้วย End If”

            แต่การใช้ประโยคคำสั่งแบบนี้อาจทำให้สับสนได้ เนื่องจากเมื่อจบการทดสอบเงื่อนไขแล้วไม่ว่าเงื่อนไขจะเป็นจริงหรือเท็จก็ตาม โปรแกรมจะทำงานตามคำสั่งในบรรทัดถัดไป ซึ่งหมายความว่า ถ้าเงื่อนไขเป็นเท็จให้ทำคำสั่งบรรทัดถัดไปเลย เขียนเป็นผังงานได้ ดังรูป

 
               

 

 

 

 

 

 

ตัวอย่างการเขียนประโยคคำสั่ง  If…Then…End If

                ถ้ากำหนดเงื่อนไขการทำงาน ดังนี้

-                   ทดสอบว่าไม่มีเงินในมือ (ค่า M เท่ากับ 0)  จริงหรือไม่

-                   ถ้าจริง ให้หยิบเงินจากกระเป๋า 20 บาท

-                   จบการทดสอบแล้ว ให้แสดงข้อความ “ซื้อขนมได้”

เขียนประโยคคำสั่งได้ดังนี้

            If  M = 0 Then

                            M = 20

                        End If

            MsgBox (“ซื้อขนมได้”)

 
 

 

 

 

 

 


กิจกรรมที่ 5.2

                ให้สร้างโครงงาน Decision2 เพื่อทดโปรแกรมป้อนค่า M  แล้วทดสอบเงื่อนไขตามตัวอย่าง

 

3. ประโยคคำสั่ง  If…Then…

ถ้าต้องการใหทำประโยคคำสั่งเฉพาะกรณีที่เงื่อนไขเป็นจริง โดยถ้าเงื่อนไขเป็นเท็จให้ทำประโยคคำสั่งในบรรทัดต่อไป ก็ไม่จำเป็นต้องมีทั้ง Else และ End If

ประโยคคำสั่ง If ก็กลายเป็นรูปแบบที่ 3 ดังนี้

If  เงื่อนไข Then ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไขเป็นจริง

            ประโยคคำสั่งต่อไป

 

 

 
 

 

 

 


แต่การใช้ประโยคคำสั่งแบบนี้อาจทำให้สับสนได้เช่นเดียวกันกับแบบที่ 2 (ผังงานเป็นแบบเดียวกัน) เนื่องจากถ้าเงื่อนไขเป็นจริงจะทำตามประโยคคำสั่งหลัง Then จากนั้นจะทำตามประโยคคำสั่งในบรรทัดถัดไป แต่ถ้าเงื่อนไขเป็นเท็จจะทำงานตามประโยคคำสั่งในบรรทัดถัดไป

ตัวอย่าง การเขียนประโยคคำสั่ง If…Then…

จากกิจกรรม 5.2 เขียนเป็นประโยคคำสั่ง If…Then…ได้ดังนี้

                If  M = 0 Then M = 20

                MsgBox(“ซื้อขนมได้”)

ถ้ามีหลายคำสั่งใช้ : คั่นระหว่างคำสั่ง ดังตัวอย่าง

                If  Y = 1 Then A = 1 : B = 1 : Z = A + B

ถ้าใช้ If…Then… แบบนี้แล้วมี End If  ด้วยจะเกิดความผิดพลาดคือ

                ‘End If’  must be preceded by a matching ‘If’

                หมายถึง มี End If แต่ไม่มี If  อย่างระมัดระวัง เนื่องจากเขียนได้หลายรูปแบบหรือใช้ตามรูปแบบที่ 1 ดีกว่า เพราะจะทำให้การตรวจสอบโปรแกรมง่ายกว่า และโอกาสผิดพลาดน้อยกว่า

 

                4. การเขียนโปรแกรมทดสอบหลายเงื่อนไข

                เมื่อมีเงื่อนไขหลายอย่างต่อเนื่องกัน ก็ต้องเขียนโปรแกรมทดสอบให้ครอบคลุมทุกเงื่อนไข เพื่อไม่ให้เกิดความผิดพลาด โดยใช้ประโยคคำสั่ง If รูปแบบที่ 4 ดังนี้

If  เงื่อนไข1 Then

                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข1 เป็นจริง

ElseIf  เงื่อนไข2 Then

                                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข2 เป็นจริง

ElseIf เงื่อนไข3 Then

                                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข3 เป็นจริง

                Else

ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข3 เป็นเท็จ

End If

 

 
               

 

 

 

 

 

 

 

 

 

 

ความหมาย         

-                   ถ้าเงื่อนไขที่ 1 เป็นจริง ให้ตามงานตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 1 เป็นเท็จ ให้ทดสอบเงื่อนไขที่ 2

-                   ถ้าเงื่อนไขที่ 2 เป็นจริง ให้ตามงานตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 2 เป็นเท็จ ให้ทดสอบเงื่อนไขที่ 3

-                   ถ้าเงื่อนไขที่ 3 เป็นจริง ให้ตามงานตามประโยคคำสั่งหลัง Then แต่ถ้าเงื่อนไขที่ 3 เป็นเท็จ ให้ตามงานตามประโยคคำสั่งหลัง Else

-                   จบการทดสอบเงื่อนไขทั้งหมดด้วย End If เพียงตัวเดียว

เขียนเป็นผังงานได้ดังนี้

 

 

 

 

 

เท็จ

 
 

 


 

ข้อสังเกต การเปรียบเทียบประโยคคำสั่ง If  แบบนี้ Visual Basic Express มีการจัดย่อหน้าทำให้ดูง่ายลักษณะนี้เรียกว่า การเขียนโปรแกรมแบบมีโครงสร้าง(Structure Programming) ทำให้การตรวจสอบโปรแกรมง่ายกว่าการเขียนให้ด้านซ้ายมือตรงกันหมดทุกบรรทัด ดังรูป

If  เงื่อนไข1 Then

                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข1 เป็นจริง

ElseIf  เงื่อนไข2 Then

                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข2 เป็นจริง

ElseIf เงื่อนไข3 Then

                ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข3 เป็นจริง

                Else

ประโยคคำสั่งที่ให้ทำถ้าเงื่อนไข3 เป็นเท็จ

End If

 

 
 

 

 

 

 

 

 

 

 

 

 


ตัวอย่าง

การตัดเกรดจากคะแนนของนักเรียน กำหนดเงื่อนไข ดังนี้

คะแนน

ได้เกรด

75 ขึ้นไป

65 ถึง 74

50 ถึง 64

40 ถึง 49

ต่ำกว่า 40

 

เขียนเป็นประโยคคำสั่งได้ ดังนี้

If  Score >= 75 Then

            Grade$ = “”

ElseIf  Score >= 65 Then

                                Grade$ = “”

ElseIf Score >= 50  Then

                            Grade$ = “”

ElseIf Score >= 40  Then

                            Grade$ = “”

                Else

                        Grade$ = “”

End If

 

 
               

 

 

 

 

 

 

 

 

 

 

กิจกรรมที่ 5.3

                ให้สร้างโครงงาน Grade เพื่อทำโปรแกรมสำหรับตัดเกรดเมื่อป้อนคะแนนเข้าไป แล้วแสดงผลออกมาเป็นเกรดที่ถูกต้องตามเกณฑ์ในตัวอย่าง โดยออกแบบส่วนติดต่อผู้ใช้ตามความเหมาะสม แล้วทดสอบการทำงานของโปรแกรม

 

 

 

 

 

 

 

2  การใช้ประโยคคำสั่ง Select…Case

                ประโยคคำสั่ง Select…Case เหมาะสำหรับใช้ทดสอบเงื่อนไขที่มีทางเลือกหลายอย่างมีรูปแบบดังนี้

  Select   Case  ตัวแปรหรือนิพจน์ที่ทดสอบ(Test Expression)

            Case    รายการนิพจน์ 1

                                ประโยคคำสั่งที่ให้ทำถ้าค่าของตัวแปรหรือนิพจน์เท่ากับนิพจน์ 1

            Case    รายการนิพจน์ 2

                                ประโยคคำสั่งที่ให้ทำถ้าค่าของตัวแปรหรือนิพจน์เท่ากับนิพจน์ 2

            Case    รายการนิพจน์ ก

                                ประโยคคำสั่งที่ให้ทำถ้าค่าของตัวแปรหรือนิพจน์เท่ากับนิพจน์ ก

            Case Else

                                ประโยคคำสั่งที่ให้ทำถ้าค่าของตัวแปรหรือนิพจน์ไม่เท่ากับนิพจน์ ใดเลย

  End Select    

 
 

 

 

 

 

 

 

 

 

 

 

 


ความหมาย

                ประโยคำสั่ง Select…Case เป็นการทดสอบค่าของตัวแปรหรือนิพจน์เปรียบเทียบกับค่าของนิพจน์ในแต่ละ Case ถ้าตรงกับ Case ใด ก็ทำตามประโยคคำสั่งใน Case นั้น แล้วจบการทดสอบ แต่ถ้าค่าไม่ตรงก็ไปยัง Case ต่อไป และถ้าไม่มี Case ไหนที่ตรงเลย ก็จะทำให้ประโยคคำสั่งหลัง Case Else แล้วจบการทดสอบด้วย End Select

                สังเกตได้ว่า การใช้ประโยคคำสั่ง Select Case มีลักษณะเป็นชุด(Block) ซึ่งต้องเขียนให้ครบ ถ้าขาด Case Else ไป ก็จะทำให้การทดสอบเงื่อนไขไม่ครบเพราะใช้ได้เฉพาะกรณีเงื่อนไขเป็นจริงตาม Case ต่างๆเท่านั้น ถ้าเงื่อนไม่เป็นจริงก็จะไปทำคำสั่งถัดจาก End Select ซึ่งอาจทำให้ผิดพลาดได้

                แต่ถ้าขาด End Select ไป จะเกิดความผิดพลาดขึ้น ดังนี้

                ‘Select Case’ must end with a matching ‘End Select’

 

                หมายถึง Select Case ต้องจบด้วย End Select

รูปผังงานของประโยคคำสั่ง Select…Case เป็นดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Select Case Score

Case Is >= 75

Grade$ = “”

Case Is >= 65

                                Grade$ = “”

Case Is >= 50

                            Grade$ = “”

Case Is >= 40

                            Grade$ = “”

                Case Else

                        Grade$ = “”

End Select

 
จากตัวอย่างการตัดเกรด

เมื่อใช้คำสั่ง Select…Case จะได้ดังนี้

 

 

 

 

 

 

 

 

 

 

โดยที่นิพจน์ Is >= ตัวเลข หมายถึง ค่าของตัวแปร Score มากกว่าหรือเท่ากับค่าตัวเลขนี้หรือไม่

ถ้าจะเปรียบเทียบว่าค่าตัวแปรใน Select Case เท่ากับค่าใดๆ หรือไม่ก็ใช้ Case ตามด้วยตัวเลขนั้นได้เลย เช่น Case 50 ไม่ต้องเขียนว่า Is = 50

 

หมายเหตุ การทดสอบเงื่อนไขของคำสั่ง Select…Case จะเรียงลำดับแต่ละ Case ถ้ามีทางเลือกที่เป็นไปได้หลายทางซ้ำซ้อนกัน จะทำงานใน Case ที่ไปได้ก่อนเสมอ ดังตัวอย่าง

                Select Case Score

                                Case Is >= 65

Grade$ = “”

Case Is >= 75

Grade$ = “”

                จะเกิดความผิดพลาด เช่น ถ้าได้ 75 คะแนน แทนที่จะได้เกรด “” กลับได้ “” เนื่องจาก Case แรกเป็นไปได้ก่อน แล้วจบการทดสอบเลย

                ดังนั้น การกำหนดเงื่อนไขของ Case ต้องจัดลำดับให้ถูกต้อง มิฉะนั้นจะได้ผลผิดพลาดด้วย

กิจกรรมที่ 5.4

1.             ให้สร้างโครงงาน Grade Select เพื่อเขียนโปรแกรมตัดเกรดโดยใช้คำสั่ง Select Case และกำหนดเกณฑ์ให้เกรดตามต้องการ

2.             บันทึกโครงงาน แล้วทดสอบการทำงานของโปรแกรม

 

การเขียนรายการนิพจน์(Expression List) ที่ใช้ทดสอบหลัง Case

                ประโยคคำสั่ง Select…Case  สามารถใช้ได้กับข้อมูลทุกแบบ และเขียนรายการนิพจน์(Expression List) ที่ใช้ทดสอบหลัง Case ได้หลายแบบ ดังนี้

1.             ตัวแปร หรือค่าข้อมูล หรือนิพจน์ทั่วไป เช่น การคำนวณ

2.             Is  เครื่องหมายเปรียบเทียบ ตัวแปร หรือค่าข้อมูล หรือนิพจน์ทั่วไป

3.             นิพจน์ 1 To นิพจน์ 2 สำหรับการกำหนดค่าเป็นช่วง

4.             รวมทุกแบบ หรือใช้ปนกันได้

 

ตัวอย่างแบบที่ 1 ใช้ตัวแปรหรือนิพจน์ทั่วไป

Select Case A

                Case B

                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ A เท่ากับค่าของ B

                Case  Y + 1

                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ A เท่ากับผลลัพธ์ของ Y + 1

ตัวอย่างแบบที่ 2 ใช้ Is เครื่องหมายเปรียบเทียบ

                Select Case G$

                                Case Is  > B$

                                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ G$ มากว่าค่าของ B$

                                Case Is < > “F”

                                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ G$ ไม่เท่ากับ “F”

 

ตัวอย่างแบบที่ 3 ใช้ To

                Select Case A

                                Case B To D

                                    ประโยคคำสั่งที่ให้ทำ กรณีค่าของ A เท่ากับค่าของ B ถึงค่าของ D

                                Case 70 To 80

                                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ A เท่ากับ 70 ถึง 80

 

ตัวอย่างแบบที่ 4 รวมทุกแบบ

                Select Case A

                                Case 11 To 20 ,40 , Is  > B

                                                ประโยคคำสั่งที่ให้ทำ กรณีค่าของ A เท่ากับ 11 ถึง 20 หรือเท่ากับ 45 หรือมากกว่าค่าของ B

 

กิจกรรมที่ 5.5

                ให้นักเรียนสร้างโปรแกรมสำหรับป้อนค่าตัวเลข แล้วแสดงผลตามเงื่อนไข

 

เลข

แสดงข้อความ

0 ถึง 99

ไม่ถึงหนึ่งร้อย

100

หนึ่งร้อย

200

สองร้อย

500

ห้าร้อย

501 ถึง 999

เกินห้าร้อยแต่ไม่ถึงหนึ่งพัน

1000

หนึ่งพัน

อื่น ๆ

 ไม่ได้กำหนดไว้

 

3. การใช้ประโยคคำสั่ง Try…Catch…Finally

                ประโยคคำสั่ง Try…Catch…Finally ใช้สำหรับตรวจจับความผิดพลาดที่อาจเกิดขึ้นได้กับประโยคคำสั่งที่กำหนดไว้ และให้โปรแกรมยังทำงานต่อไปได้แม้จะเกิดความผิดพลาดขึ้น มีรูปแบบดังนี้

 

                Try

                                                ประโยคคำสั่งที่อาจเกิดความผิดพลาด

                                Catch

                                                ประโยคคำสั่งเมื่อเกิดความผิดพลาด

                                Finally

                                                ประโดยคคำสั่งที่ให้ทำไม่ว่าความผิดพลาดจะเกิดขึ้นหรือไม่ก็ตาม

                End Try

 

                ความหมาย

                คำสั่ง Try จะทำการตรวจจับความผิดพลาดที่อาจเกิดขึ้นได้กับประโยคคำสั่งที่กำหนดไว้ ถ้าไม่เกิความผิดพลาดจะไปทำประโยคคำสั่งหลัง Finally แล้วจบการตรวจจับด้วย End Try

                แต่ถ้าเกิดความผิดพลาดขึ้นจะไปทำประโยคคำสั่งหลัง Catch แล้วไปทำต่อที่ประโยคคำสั่งหลัง Finally และจบการตรวจจับด้วย End Try

                หมายเหตุ ในบางกรณี อาจไม่จำเป็นต้องใช้ชุดคำสั่ง Finally ก็ได้

                ประโยคคำสั่ง Try…Catch…Finally เขียนเป็นผังงานได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                                                                    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ตัวอย่างโปรแกรม

                ในการคำนวณ z = x \ y  ถ้าค่าของ y เท่ากับ 0 จะเกิดคามผิดพลาดขึ้นคือ ‘Divide by Zero’ แล้วโปรแกรมจะทำงานต่อไม่ได้ ดังนั้น จึงต้องเขียนโปรแกรมตรวจจับ ดังนี้

               

               

 

 

 

 

 

กิจกรรมที่ 5.6

                ให้สร้างโครงงาน Try เพื่อทดสอบการตรวจจับความผิดพลาดตามตัวอย่าง

 

กิจกรรมที่ 5.7

                ให้เรียกโครงงาน VB Calculator จากบทที่ 4 มาเพื่อเพิ่มการตรวจจับความผิดพลาดเฉพาะปุ่ม “ \ ” ที่อาจเกิดความผิดพลาดได้

                หมายเหตุ ปุ่ม “ / ” และ ปุ่ม “Mod”  ถ้า Operand 2 เป็นการหารด้วย แต่ Visual Basic ยกเว้นได้ ผลลัพธ์เป็น NaN หมายถึง Not a Number (ไม่เกิด Error) ดังนั้น การตรวจจับความผิดพลาดจึงไม่ได้ผล

 

กิจกรรมที่ 5.8

                จากโครงงาน VB Calculator ให้เพิ่มการตรวจสอบปุ่ม “ / ” , “ \ ” และ “Mod” ว่าถ้าไม่ป้อนตัวเลขที่ Operand 2  หรือป้อนเลข 0 ให้แสดงข้อความ “ค่าเป็น 0 ใช้ไม่ได้” แล้วให้ป้อนค่าใหม่

 

                หมายเหตุ การให้ป้อนค่าใหม่ทำได้ดังนี้

-                   ลบข้อความที่ TextBox2 ด้วยคำสั่ง TextBox2.Text = “ ”

-                   ให้เคอร์เซอร์ไปชี้ที่ TextBox2  ด้วยคำสั่ง TextBox2 .Focus()

 

 

 

 

4. การใช้กล่องข่าวสาร(MessageBox) แบบมีเงื่อนไข

                MsgBox( ) เป็นฟังก์ชันหนึ่งของ Visual Basic ใช้สำหรับแสดงข้อความให้ผู้ใช้โปรแกรมเห็น เช่น ข้อความทั่วไป ข้อความเตือน ข้อความคำถาม หรือข้อความบอกความผิดพลาด แล้วรอให้ผู้ใช้โปรแกรมคลิกที่ปุ่ม เพื่อทำงานต่อไป ดังรูป

 

 

 

 

 


การเรียกใช้ฟังก์ชั่น ทำได้โดยใช้รูปแบบอย่างง่าย ดังนี้

MsgBox(“ข้อความ”)

 

                เช่น MsgBox(“ถูกต้องแล้วค่ะ”) ก็ได้ตามรูปตัวอย่าง

                แต่กล่องข่าวสารสามารถแสดงปุ่มอื่นๆ ได้อีกเช่น Yes,No,Retry,Cancel เพื่อให้ผู้ใช้เลือกคลิกแล้วโปรแกรมก็ต้องทดสอบเงื่อนไขที่จะให้ทำตามที่ผู้ใช้เลือก

 

                1. การกำหนดปุ่มที่ใช้บนกล่องข่าวสาร

                ในกรณีที่ต้องการแสดงข้อคามคำถาม แล้วใช้ผู้ใช้คลิกตอบที่ปุ่มต่างๆ ดังนั้น จะต้องกำหนดว่าจะให้กล่องข่าวสารมีปุ่มอะไรบ้าง การเรียกใช้ฟังก์ชัน MsgBox( ) ต้องใช้รูปแบบ ดังนี้

                Response = MsgBox(“ข้อความคำถาม”,แบบของปุ่ม, “ชื่อกล่องข่าวสาร”)

               

Response คือ ตัวแปรที่เก็บค่าตัวเลขของการคลิกที่ปุ่มต่างๆ

แบบของปุ่ม(Style) เป็นตัวกำหนดว่าจะให้มีปุ่มอะไรบ้าง อาจใช้ชื่อหรือค่าตัวเลขของปุ่มดังนี้

ชื่อ

ค่าตัวเลข

ปุ่มที่แสดง

OKOnly

O

ปุ่ม OK ปุ่มเดียว

OKCancel

1

ปุ่ม OK และ Cancel

AbortRetryIgnore

2

ปุ่ม Abort,Retry และ Ignore

YesNoCancel

3

ปุ่ม Yes,No และ Cancel

YesNo

4

ปุ่ม Yes และ No

RetryCancel

5

ปุ่ม Retry และ Cancel

 

ตัวอย่าง

                โปแกรมเกม เมื่อต้องการถามว่า “ต้องการเล่นต่อหรือไม่ และต้องการให้ผู้เล่นตอบ “Yes หรือ “No” ในกล่องข่าวสารชื่อ “My Game”  ต้องเรียกใช้ฟังก์ชัน Msg( ) ดังนี้

 

Prompt_M$ = “ต้องการเล่นต่อหรือไม่”

Button_Style = 4

Title_M$ = “My Game”

Response  = MsgBox(Prompt_M$,Button_Style,Title_M$)

 
 

 

 

 

 

 


ผลที่ได้เป็นดังรูป

 

 

 

 

                2. การนำผลของการคลิกปุ่มโต้ตอบไปใช้

                เมื่อคลิกเลือกปุ่มใดปุ่มหนึ่งแล้ว จะได้ค่าคงที่หรือตัวเลขดังต่อไปนี้

ปุ่ม

ค่าคงที่

ค่าตัวเลข

OK

OK

1

Cancel

Cancel

2

Abort

Abort

3

Retry

Retry

4

Ignore

Ignore

5

Yes

Yes

6

No

No

7

 

ตัวแปร Response จะเก็บค่าตัวเลขที่ได้จากการคลิก สามารถนำไปใช้ทดสอบเงื่อนไขต่อไปนี้ ผู้ใช้คลิกปุ่มอะไร แล้วจะให้ไปทำอะไรต่อไป

 

 

 

ตัวอย่าง

ถ้าผู้ใช้คลิกปุ่ม “No” แล้วให้โปรแกรมจบการทำงาน เขียนเป็นประโยคคำสั่งได้ดังนี้

If Response = 7 Then

            End

End If

 
 

 

 

 

 


กิจกรรมที่ 5.9

                ให้สร้างโครงงาน Game1 เพื่อสร้างโปรแกรมทายตัวเลขอย่างง่าย ดังนี้

1.             กำหนดค่าตัวเลขไว้ 1 ค่าในโปรแกรม

2.             ให้คนเล่นทายโดยป้อนค่าตัวเลขที่กล่องข้อความ แล้วคลิกที่ปุ่ม “ทาย”

3.             ถ้าทายถูกให้แสดงข้อความ “ถูกต้องค่ะ”

4.             แต่ถ้าทายผิดให้แสดงข้อความ “ผิด ทายใหม่หรือเปล่า”

5.             ผู้เล่นคลิกที่ปุ่ม Yes หรือ No

6.             ถ้าตอบ No จบการทำงาน และแสดงข้อความ “Good Bye”

7.             ถ้าตอบ Yes ให้ลบตัวเลขที่กล่องข้อความแล้วทายใหม่ได้

 

3 .การแสดงไอคอนที่กล่องข่าวสาร

กล่องข่าวสารสามารถแสดงไอคอนต่างๆ โดยกำหนดค่าตัวเลขที่ Style แทนแบบปุ่ม(หรืออาจใช้ร่วมกับปุ่มต่างๆ ได้เช่นกัน) ดังนี้

 

ชื่อ

ค่าตัวเลข

ไอคอนที่แสดง

Critical

16

รูป X

Question

32

รูป ?

Exclamation

48

รูป !

Information

64

รูปตัว i

 

ตัวอย่าง

Title_M$ = “Critical Message”

Prompt_M$ = “Danger”

Button_Style = 16

MsgBox(Prompt_M$, Button_Style, Title_M$)

 

กิจกรรมที่ 5.10

                ให้สร้างโครงงาน Icon  เพื่อสร้างโปรแกรมแสดงกล่องข่าวสารรูปไอคอนแต่ละแบบเมื่อ คลิกที่ปุ่ม “Critical”, “Question”, “Exclamation” และ “Infoemation”

 

                4. การแสดงไอคอนที่กล่องข่าวสารร่วมกับปุ่มต่างๆ

               ทำได้โดยกำหนดค่าตัวเลขที่ Style ให้เป็นค่าของปุ่มรวมกับค่าของไอคอน เช่น ต้องการแสดงไอคอนเตือ (Exclamation)  พร้อมกับปุ่ม Yes และ No ค่าของ Style ก็เท่ากับ 4 + 48

 


              ตัวอย่าง

      Title_M$ = "Exclamation Message"

      Promp_M$ = "Sure?"

      Button_Style = 4 + 48

      MsgBox(Prompt_M$, Button_Style, Title_M$)

 

กิจกรรมที่ 5.11

                ให้นักเรียนสร้างโครงงาน Icon-Button เพื่อสร้างโปรแกรมแสดงกล่องข่าวสารรูปไอคอนรวมกับปุ่มต่างๆ แต่ละแบบเมื่อคลิกที่ปุ่ม “Critical+OKCancel”, “Question+YesNo”, “ Exclamation+AbortRetryIgnore” และ “Information+RetryCancel”

หมายเหตุ

           ถ้าไม่ใช้ตัวเลขของ Style อาจใช้ชื่อสมาชิกของ MsgBoxStyle ในขณะที่พิมพ์ฟังก์ชัน

MsgBox( ) ดังนี้

           1.  เมื่อพิมพ์ , หลัง Prompt_M$ แล้วจะปรากฎรายการช่วยในการเลือก Style ดังรูป

 

 

 

 

 

 

 

 

 

2. สามารถดับเบิลคลิกเลือก Style ที่ต้องการได้ เช่น MsgBoxStyle, Exclamation

3. และถ้าต้องการให้แสดงปุ่มร่วมด้วย  หลังจากดับเบิลคลิกแล้ว  พิมพ์ or แล้ววรรค 

 จะปรากฏรายการ Style ให้เลือกอีก  ให้ดับเบิลคลิกเลือกแบบของปุ่มได้ เข่น

 MsgBox,AbourtRetryIgnore

4. พิมพ์ , Title_M$) ให้ครบฟังก์ชัน

5. เมื่อให้โปรแกรมทำงานแล้วคลิกที่ปุ่ม "Exclamation+AbortRetryIgnore" จะได้ ดังรูป

 

 

 

 

 

 


5การใช้กล่องป้อนข้อมูล (InputBox)

              InputBox( ) เป็นฟังก์ชันหนึ่งของ Visual Basic  ใช้สำหรับแสดงข้อความที่เป็นคำถาม  รอให้ผู้ใช้โปรแกรมทำการป้อนข้อมูลในกล่องข้อความ  แล้วคลิกที่ปุ่ม  ดังรูป

 

 

 

 

 

ผลลัพธ์ที่ได้จากการป้อนข้อมูลในกล่องข้อความ หรือจากการคลิกที่ปุ่มจะเป็นค่าข้อมูลแบบ String  ดังนั้น  ต้องใช้ตัวแปรแบบ String เพื่อมารับค่าจาก InputBox ตามรูปแบบ  ดังนี้

  In_Value$=InputBox("ข้อความคำถาม" , "ชื่อกล่องป้อนข้อมูล")

              จากรูปตัวอย่าง ข้อความคำถามคือ "กรุณาป้อนคะแนน"  และชื่อกล่องป้อนข้อมูลคือ "ป้อนคะแนนนักเรียน"

                เมื่อผู้ใช้ป้อนคะแนนเข้าไปแล้ว คลิกที่ปุ่ม OK จะได้ค่าข้อมูลแบบ String หรือเป้นข้อความตัวเลขเก็บไว้ที่ตัวแปรชื่อ   In_Value$  ดังนั้น  ต้องแปลงให้เป็นตัวเลขก่อนจึงจะนำไปทำการคำนวณได้  ดังนี้

   Score  = Val(In_Value$)

               ตัวแปร Score จะเก็บค่าข้อมูลแบบตัวเลข  แต่ถ้าใช้เป็นข้อความ เช่น  ชื่อ หรือ ตัวเลขที่ไม่นำไปคำนวณ ก็นำตัวแปร   In_Value$  ไปใช้ได้
             ถ้าผู้ใช้ไม่ต้องการป้อนค่า  ให้คลิกที่ปุ่ม  Cancel  จะได้ค่าของ In_Value$  เท่ากับ " " (ไม่มีค่า หรือ Null String)

กิจกรรมที่ 5.12

                ให้เรียกโครงงาน Game1 มาเปลี่ยนการป้อนข้อมูลจาก TextBox ให้เป็น InputBox และเพิ่มเงื่อนไข ถ้าไม่ทาย (คลิกที่ปุ่ม Cancel ของกล่องป้อนข้อมูล) ให้แสดงข้อความ “คราวหน้าค่อยเล่น” แล้ว จบโปรแกรม

1.             บันทึกโครงงานชื่อ Game2

2.             ทดสอบโปรแกรม โดยให้เพื่อนมาทายตัวเลขที่ตั้งเอาไว้

 

กิจกรรมที่ 5.13

                จากโครงงาน Game2 เพิ่มเงื่อนไขดังนี้

1.             ถ้าทายตัวเลขมากกว่าที่ตั้งไว้ให้แสดงข้อความ “มากไป”

2.             ถ้าทายตัวเลขน้อยกว่าที่ตั้งไว้ ให้แสดงข้อความ “น้อยไป”

3.             ทดสอบโปรแกรม โดยให้เพื่อนมาทายตัวเลขที่ตั้งเอาไว้

6.การใช้กล่องรวมกลุ่ม (GroupBox)

               กล่องรวมกลุ่ม (GroupBox)  เป็นตัวควบคุมอีกอันหนึ่ง  ใช้สำหรับกำหนดกรอบหรือจัดกลุ่มของตัวควบคุมให้เป็นชุดเดียวกัน  โดยต้องสร้างกรอบก่อนตัวควบคุมอื่นๆ ดังนี้
              1.  เลือกตัวควบคุมแบบ GroupBox  จากกล่องเครื่องมือ

 

 

 

 

 

 

 


2.ตีกรอบบนฟอร์มให้ได้ขนาดตามต้องการ ดังรูป

 

 

 

 

 

 

 

 

 

 


3.  เปลี่ยนข้อความป้ายชื่อ GroupBox1 ให้เป็นข้อความชื่อที่ต้องการ  เช่น  "โปรดเลือก" โดยเปลี่ยนได้ที่รายการ Text ในหน้าต่างคุณสมบัติของ GroupBox1 หรือถ้าไม่ต้องกานใช้ข้อความก็ลบออกได้
              4.  เปลี่ยนขนาดและรูปแบบตัวอักษรของข้อความชื่อของกรอบ ที่รายการ Font ในหน้าต่างคุณสมบัติประจำตัวของกรอบ

 

7. การใช้ปุ่มเลือก (RadioButton)

              ปุ่มเลือก (RadioButton)  เป็นตัวควบคุมอีกอันหนึ่ง  ใช้สำหรับกำหนดรายการสำหรับเลือกรายการใดรายการหนึ่งจากหลายรายการ  มีลักษณะ  ดังรูป

 

 

 

 

 

 


เมื่อผู้ใช้คลิกเลือกที่ปุ่มใดปุ่มหนึ่ง  ก็ให้โปรแกรมทำคำสั่งตามตัวเลือกนั้น
       การวางตัวควบคุมแบบ RadioButton แต่ละตัวบนฟอร์มทำได้โดย
       1.  เลือกตัวควบคุมแบบ RadioButton จากกล่องเครื่องมือแล้วดับเบิลคลิก


       2.  ตัวควบคุมแบบ RadioButton จะปรากฏอยู่ภายในกรอบบนฟอร์ม 
       ใช้เมาส์เลื่อนไปวาง ยังตำแหน่งที่ต้องการ (ภายใน GroupBox) ดังรูป

              

 

 

 

 

 

 

 

 

3.  จัดวาง RadioButton ตัวต่อไปจนครบจำนวนที่ต้องการ

             4.  กำหนดข้อความของ RadioButton ตัวต่อไปจนครบจำนวนที่ต้องการ

             5.  จัดตำแหน่งข้อความของ RadioButton แต่ละตัวที่รายการ TextAlign ในหน้าต่างคุณสมบัติประจำตัวของ RadioButton

6.  เปลี่ยนขนาดและรูปแบบตัวอักษรของข้อความของRadioButton  แต่ละตัวที่รายการ Font ในหน้าต่างคุณสมบัติประจำตัวของ RadioButton    เมื่อเพิ่มป้ายแสดงข้อความ (Label) เข้าไปด้วย          จัดและตกแต่งฟอร์มและตัวควบคุมต่างๆ เพื่อทำเป็นฟอร์มคำถามพร้อมตัวเลือกจะได้  ดังรูป

 

 

 

 

 

 

 

 

 

 

       ตัวอย่าง  การเขียนคำถามและตัวเลือก

                    ในการกำหนดข้อความคำถามให้กับ Label1 และคำตอบที่เป็นตัวเลือก แทนที่จะไปกำหนดในรายการ Text ของหน้าต่างคุณสมบัติประจำตัว  ควรใช้วิธีเขียนคำสั่งกำหนดให้ดีกว่า

                    ถ้าคำถามและตัวเลือกเป็น  ดังนี้
                    คำถามข้อที่ 1 IT ย่อมาจากอะไร
                         .  Internet  Technology
                         ข.   Industrial Technology
                         ค.  Information Technology
                         ง.  International Technology

              วิธีทำ
                  
 1.  ดับเบิลคลิกที่ฟอร์ม แล้วพิมพ์คำสั่งกำหนดค่าให้กับตัวควบคุมต่างๆ ได้ดังนี้

 

 

 

 

 

 

 

 

 

                    2.  ทำการเขียนโปรแกรมของปุ่ม "ตรวจคำตอบ" เพื่อตรวจสอบคำตอบและแสดงผลการตอบที่ตัวควบคุม
                        Label2  ดังนี้
                          - ประกาศตัวแปรที่ใช้ในส่วนประกาศ  เช่น
                                Dim Result$
                               Dim Correct_Answer As Byte
                               Dim Answer As Byte
                          - กำหนดค่าคำตอบที่ถูก (เฉลย) เช่น
                                Correct_Answer = 3  หมายถึงตัวเลือกที่ 3 ถูก
                           - ตรวจสอบการเลือกของผู้ตอบและกำหนดค่าที่ตอบ
                                If RadioButton1.Checked = True Then Answer = 1
                                If RadioButton2.Checked = True Then Answer = 2
                                If RadioButton3.Checked = True Then Answer = 3 
                                If RadioButton4.Checked = True Then Answer = 4
                           - เปรียบเทียบค่าที่ตอบกับเฉลยว่าตรงกับคำตอบที่ถูกหรือไม่  ถ้าถูกให้แสดงข้อความ "ถูกต้อง"
                              ถ้าไม่ถูกให้แสดงข้อความว่า "ทบทวนใหม่"

                                            If Answer = Correct_Answer Then
                                          Result$ = "ถูกต้อง"
                                     Else
                                          Result$ = "ทบทวนใหม่"
                                     End If
                            - แสดงผลการตอบที่ตัวควบคุม Label2
                                     Label2.Text = Result$

                       3.  บันทึกโปรแกรมไว้  โดยบันทึกฟอร์มและโครงงานด้วยชื่อที่เหมาะสม เช่น Form1_Choice  และ
                          Project_Choice
                       4.  ทดสอบการทำงานของโปรแกรม  โดยคลิกเลือกคำตอบ แล้วคลิกที่ปุ่มคำตอบ  ถ้ามีที่ผิด ให้ทำการ
                           แก้ไขให้ถูกต้อง  แล้วบันทึกโปรแกรมใหม่ ถ้าถูกต้อง จะได้ดังรูป

 

 

 

 

 

 

 

 

 

 

กิจกรรมที่ 5.14

                ให้สร้างโปรแกรมตามตัวอย่าง แล้วทดสอบการทำงานของโปรแกรม และให้เพิ่มปุ่มคำสั่ง “จบ” เพื่อหยุดการทำงานของโปรแกรม

 

8.  การใช้กล่องเลือก (CheckBox)

                    กล่องเลือก (CheckBox)  มีลักษณะการใช้งานคล้ายกันกับปุ่มเลือก  แต่ CheckBox สามารถเลือกรายการได้  เหมาะสำหรับคำถามที่มีคำตอบหลายคำตอบ  การเขียนโปรแกรมก็ต้องรองรับเงื่อนไขเหล่านี้ให้ถูกต้องด้วย

        การวางตัวควบคุมแบบ CheckBox แต่ละตัวบนฟอร์มทำได้โดย

        1.  เลือกตัวควบคุมแบบ CheckBox จากกล่องเครื่องมือแล้ว

              ดับเบิลคลิก

        2.  ตัวควบคุมแบบ CheckBox จะปรากฏอยู่ภายในกรอบบนฟอร์ม 

            ใช้เมาส์เลื่อนไปวางยังตำแหน่งที่ต้องการ

             (ควรอยู่ใน GroupBox) ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 


3. จัดวาง CheckBox ตัวต่อไปจนครบจำนวนที่ต้องการ

 

ตัวอย่าง  การเขียนคำถามและตัวเลือก

                    ในการกำหนดข้อความคำถามให้กับ Label1 และคำตอบที่เป็นตัวเลือก แทนที่จะไปกำหนดในรายการ Text ของหน้าต่างคุณสมบัติประจำตัว  ควรใช้วิธีเขียนคำสั่งกำหนดให้ดีกว่า
                    ถ้าคำถามและตัวเลือกเป็นดังนี้

                        ท่านชอบอ่านหนังสือประเภทใด
                              ก.  การ์ตูน
                              ข.  นวนิยาย
                              ค.  สารคดี
                              ง.  ข่าวสาร

                         คำตอบอาจตอบได้หลายอย่าง ดังนั้น  จึงต้องใช้ CheckBox

            วิธีทำ 
                    1.  ดับเบิลคลิกที่ฟอร์ม  แล้วพิมพ์คำสั่งประกาศตัวแปรที่ใช้ในส่วนประกาศและกำหนดค่าให้กับตัวควบคุมต่างๆ ได้ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.  ทำการเขียนโปรแกรมของปุ่ม "ตรวจผล" เพื่อตรวจสอบการตอบ  และแสดงผลการตอบที่ตัวควบคุม Label2  ดังนี้

                             - ตรวจสอบการเลือก  ถ้าเลือกรายการใดให้แสดงข้อความตามนั้น
                               c1$ =""
                               c2$ =""
                               c3$ =""
                               c4$ =""
                               If CheckBox1.Checked=True Then c1$ = ms1$
                               If CheckBox2.Checked=True Then c2$ = ms2$
                               If CheckBox3.Checked=True Then c3$ = ms3$
                               If CheckBox4.Checked=True Then c4$ = ms4$
                         - รวมผลการตรวจสอบเข้าด้วยกัน
                               Result$ = c1$ & c2$ & c3$ & c4$
                         - ถ้าไม่เลือกเลยให้แสดงข้อความ "อ่านบ้างนะ"
                                If Result$ = "" Then Result$ = "อ่านบ้างนะ"
                         - แสดงผลการตอบที่ตัวควบคุม Label2
                                Label2.Text = Result$
                        ได้โปรแกรมของปุ่ม "ตรวจผล" ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

3.  บันทึกโปรแกรมไว้โดยบันทึกฟอร์มและโครงงานด้วยชื่อที่เหมาะสม เช่น Form1_Check และ Project_Check
                4.  ทดสอบการทำงานของโปรแกรม  ถ้าโปรแกรมทำงานถูกต้อง จะยังไม่มีการ Check ที่กล่องเลือกใดเลย  และไม่แสดงผลอะไร เมื่อคลิกที่ปุ่ม "ตรวจผล"  จะได้ดังรูป

 

 

 

 

 

 

 

 

 

 

 


5. ทดลองคลิกที่กล่องเลือกทีละกล่อง แล้วคลิกที่ปุ่ม "ตรวจผล" ตรวจสอบผลที่ได้ตามลำดับ
              6.  ทดลองคลิกที่กล่องเลือกหลายกล่อง  แล้วคลิกที่ปุ่ม "ตรวจผล" ตรวจสอบผลที่ได้

กิจกรรมที่ 5.15

                สร้างโครงงานแบบสอบถาม (Questionaire) โดยตั้งคำถามและตัวเลือกตามความต้องการให้เหมาะสมสม และเพิ่มปุ่ม “Clear” เพื่อลบตัวที่เลือกไว้ และปุ่ม “จบ”

 

9. การเพิ่มฟอร์ม

                 จากตัวอย่าง เป็นการทำแบบทดสอบหรือคำถามได้เพียงข้อเดียวเท่านั้น 

เนื่องจากใช้ฟอร์มเดียว  ถ้าต้องการจะทำต่อหลายๆ ข้อ จะต้องใช้ฟอร์มหลายฟอร์ม 

โดยเพิ่มฟอร์มได้จากหน้าต่างหลัก  เลือกรายการ Project แล้ว เลือก Add Windows Form  ดังรูป

 

 

 

 

 


จะปรากฏหน้าต่างให้เลือกประเภทของฟอร์ม  ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 


เลือก Windows Form แล้วตั้งชื่อฟอร์มในช่อง Name : หรือถ้าใช้ชื่อ Form2.vb ก็คลิกที่ปุ่ม Add ได้เลย 

จะเห็นฟอร์มใหม่ และที่หน้าต่าง Solution Explorer จะมีชื่อ Form2.vb ดังรูป

 

 

 

 

 


ถ้าจะทำฟอร์มคำถามข้อต่อไปก็ทำตามวิธีทำเหมือนกับฟอร์มแรก หรือใช้วิธี Copy ก็ได้ โดยทำฟอร์มและโปรแกรม   จากนั้นทำการเปลี่ยนโจทย์และเฉลย  ทำแบบนี้ไปจนครบทุกข้อคำถามที่ต้องการ  เสร็จแล้วทำการบันทึกฟอร์มและโครงงานทั้งหมดใหม่

หมายเหตุ
          
ในแต่ละฟอร์มจะต้องมีปุ่ม "ข้อต่อไป" ที่มีคำสั่งให้ซ่อน (Hide) ฟอร์มที่ใช้อยู่โดยใช้คำสั่ง Me.Hide( ) แล้วแสดงฟอร์มต่อไป (เช่น ฟอร์ม 2) ด้วยคำสั่ง Form2.Show ดังนี้
       

Me.Hide( )
Form2.Show

            ถ้าขณะอยู่ที่ฟอร์ม 2 ต้องการกลับไปที่ฟอร์ม 1 ทำได้โดยใช้ปุ่ม "กลับ" ที่มีคำสั่งให้ซ่อน (Hide) ฟอร์มที่ใช้อยู่  โดยใช้คำสั่ง Me.Hide( ) แล้วแสดงฟอร์ม 1 ด้วยคำสั่ง Form1.Show ดังนี้

  Me.Hide( )
Form1.Show

 

กิจกรรมที่ 5.16

                สร้างโครงงานแบบสอบถาม 2 (Questionaire2) โดยเพิ่มอีก 2 ฟอร์ม ตั้งคำถาม และตัวเลือกตามความต้องการให้เหมาะสม และเพิ่มปุ่มเพื่อควบคุมให้ไปฟอร์มต่างๆ

 

สรุป

ในการเขียนโปรแกรมแบบมีเงื่อนไขโดยใช้ประโยคคำสั่ง If ทำได้หลายแบบ คือ
              1.  กรณีเงื่อนไขเป็นจริงให้ทำประโยคคำสั่งชุดหนึ่งและถ้าไม่จริงให้ทำประโยคคำสั่งอีกชุดหนึ่ง ใช้  If....Then......Else.... End If
              2.  ทำชุดประโยคคำสั่งเฉพาะกรณีที่เงื่อนไขเป็นจริง ใช้ If... Then ... End If
              3.  ทำประโยคคำสั่งเฉพาะกรณีที่เงื่อนไขเป็นจริง ใช้ If... Then ...
              4.  กรณีมีเงื่อนไขหลายอย่างต่อเนื่องกัน ใช้ If ... ElseIf ... Else ... End If
              ประโยคคำสั่ง Select ... Case เหมาะสำหรับใช้ทดสอบเงื่อนไขที่มีทางเลือกหลายอย่าง
              ประโยคคำสั่ง Try ... Catch ... Finally  ใช้สำหรับตรวจจับความผิดพลาด และให้โปรแกรมยังทำงานต่อไปได้
             กล่องข่าวสาร (MessageBox)  ใช้สำหรับแสดงข้อความทั่วไป  ข้อความเตือน  ข้อความคำถาม  หรือข้อความบอกความผิดพลาด  แล้วรอให้ผู้ใช้โปรแกรมคลิกที่ปุ่ม  เพื่อทำงานต่อไป
              กล่องป้อนข้อมูล (InputBox)  ใช้สำหรับแสดงข้อความที่เป็นคำถาม  รอให้ผู้ใช้ป้อนข้อมูลในกล่องข้อความ  แล้วคลิกที่ปุ่ม
              กล่องรวมกลุ่ม (GroupBox)  เป็นตัวควบคุมที่ใช้สำหรับจัดวางตัวควบคุมต่าง ๆ ให้อยู่ในกลุ่มเดียวกันบนฟอร์ม


              ปุ่มเลือก (RadioButton) เป็นตัวควบคุมที่ใช้สำหรับการเลือกรายการใดรายการหนึ่งจากหลายรายการ
              กล่องเลือก (CheckBox)  เป็นตัวควบคุมที่ใช้สำหรับการเลือกหลายรายการได้  เหมาะสำหรับคำถามที่มีคำตอบหลายคำตอบ