คำสั่งใช้ในการเลือกเส้นทางการทำงานของโปรแกรมจะทำให้เราสามารถเลือกเส้นทางการทำงานของโปรแกรมตามเงื่อนไขที่ต้องการได้ คำสั่งประเภทนี้แบ่งออกได้เป็น 2 คำสั่ง คือ คำสั่ง If –Then – Else เป็นคำสั่งที่ใช้เลือกทำเส้นทางใดเส้นทางหนึ่งมีรูปแบบดังนี้ จากคำสั่งข้างต้นจะเป็นคำสั่งที่ตรวจสอบเงื่อนไขหลังคำว่า If ถ้าเงื่อนไขเป็นจริง หรือ True โปรแกรมจะทำงานตามคำสั่งที่อยู่หลังคำว่า Then แต่ถ้าเงื่อนไขเป็นเท็จ หรือ False โปรแกรมในส่วนของ Else ก็ได้ โดยสามารถเขียนคำสั่งย่อได้ดังนี้
ตัวอย่าง ถ้าหากตัวแปร StudentGrade เก็บค่าคะแนน และต้องการเขียนคำสั่งตัดเกรดของนักศึกษาสามารถเขียนได้ดังนี้ จากตัวอย่างถ้าหากคะแนนมีค่ามากกว่าหรือเท่ากับ 60 โปรแกรมจะพิมพ์คำว่า Passed ออกมา
สำหรับในโปรแกรมจะกำหนดค่าจ้างต่อชั่วโมงเป็น 230 ถ้าหากต้องการให้คลิกปุ่ม Calculate ให้โปรแกรมคำนวณอัตราค่าจ้างออกมา โปรแกรมที่เขียนขึ้นจะต้องอ่านข้อความที่ป้อนเข้าไปทางเท็กซ์บ๊อกซ์ TxtHours แล้วเปลี่ยนเป็นตัวเลข จากนั้นคำนวณอัตราค่าจ้างแล้วนำค่าที่คำนวณได้ไปแสดงผลทางเท็กซ์บ๊อกซ์ TxtGross จากโปรแกรมที่เขียนขึ้นจะใช้เมธอด TryParse มาเปลี่ยนข้อความในเท็กซ์บ๊อกซ์ txtHours ให้เป็นตัวเลขไปเก็บไว้ในตัวแปร dblHoursWorked จากนั้นใช้ตัวดำเนินการ And มาตรวจสอบเงื่อนไขว่าชั่วโมงการทำงานอยู่ในช่วงที่กำหนดหรือไม่ ถ้าเป็นจริงจะคำนวณแล้วแสดงผล แต่ถ้าเป็นเท็จจะแจ้ง Error ออกมา เมื่อรันโปรแกรมให้ลองป้อนข้อมูลจำนวนชั่วโมงลงไป แล้วคลิกปุ่ม Calculate สำหรับการตรวจสอบเงื่อนไขหลายเงื่อนไขยังสามารถนำคำสั่ง If มาซ้อนกันได้อีกด้วยดังตัวอย่างต่อไปนี้ ตัวอย่าง การใช้คำสั่ง If-Then – Else สำหรับการเลือกทำสองทาง จากตัวอย่างข้างต้น ถ้าค่าตัวแปร i มีค่ามากกว่า 0 โปรแกรมจะพิมพ์ข้อความ Greater Then 0 ออกมา นอกนั้นจะพิมพ์ข้อความ Less Then Or Equal 0 ออกมา คำสั่ง Select – Case สำหรับการเขียนโปรแกรมที่มีการเลือกทำหลายทิศทาง การนำคำสั่ง If มาซ้อนกันนั้นอาจจะไม่สะดวก ถ้าหากเป็นการเลือกทำหลายทางเลือกโดยเลือกจากเส้นทางการทำงานของโปรแกรมจากค่านิพจน์ที่กำหนด จะใช้คำสั่ง Select – Case ซึ่งมีรูปแบบคำสั่งดังต่อไปนี้ คำสั่ง Select – Case นั้นจะทำงานตามค่าที่อยู่หลังคำว่า Select Case ถ้าค่าตรงกับค่าที่อยู่หลังคำว่า Case ใด ก็จะทำงานตามคำสั่งที่อยู่หลัง Case นั้น แต่ถ้าไม่ตรงกับค่าใดเลยโปรแกรมจะทำตามคำสั่งที่อยู่หลังคำว่า Case Else จนถึงคำสั่งว่า End Select จากตัวอย่างข้างต้น เราจะได้ผลลัพธ์ซึ่งตรงกับในกรณีของ Case Else โดยโปรแกรมจะพิมพ์คำว่า Not positive number ออกมา เนื่องจากค่า Number มีค่าเท่ากับ -1 เมื่อรันโปรแกรมจะพบว่าข้อมูลที่ป้อนเข้าไปเท็กซ์บ็อกซ์จะเป็นข้อความ ดังนั้นจะต้องเปลี่ยนข้อความให้เป็นตัวเลขเสียก่อน ในโปรแกรมจะเขียนเป็น โดยเรียกใช้เมธอด Toln32 เพื่อเปลี่ยนข้อความที่ป้อนเข้าไปในช่อง Scorelnput ให้เป็นตัวเลขจำนวนเต็มแล้วเก็บในตัวแปร score จากนั้นโปรแกรมจะใช้ Select Case เพื่อเลือกว่าคะแนนที่ป้อนเข้าไปจะได้เกรดในช่วงใด ตัวอย่างของการรันโปรแกรมเป็นดังนี้ ในการเขียนโปรแกรมบางครั้งต้องการให้โปรแกรมทำคำสั่งเดิมๆ หลายๆ ครั้ง หรือให้ทำงานซ้ำๆ ตามจำนวนครั้งที่ แน่นอน หรือให้ทำซ้ำจนกว่าจะได้เงื่อนไขตามที่ต้องการ จะใช้คำสั่งสำหรับการทำซ้ำ สำหรับในหัวข้อนี้กล่าวถึงคำสั่งต่อไปนี้
คำสั่ง For – Next คำสั่งนี้จะใช้การทำงานซ้ำที่ทราบจำนวนครั้งในการทำซ้ำที่แน่นอน โดยมีรูปแบบดังนั้น คำสั่งนี้จะใช้การทำงานซ้ำที่ทราบจำนวนครั้งในการทำซ้ำที่แน่นอน โดยมีรูปแบบดังนั้น จากตัวอย่าง ถ้าหากโปรแกรมทำงานจะพิมพ์ค่า 0, 2, 4, 6, 8, 10 ออกมา ตัวอย่าง การใช้คำสั่ง For…Next ยังใช้ในรูปแบบอื่นๆ ได้อีกดังต่อไปนี้ ตัวอย่าง โปรแกรมต่อไปเป็นการแสดงตัวเลข 10 ถึง 13 บนฟอร์ม ให้สร้างโปรแกรมแบบ Windows Form โดยออกแบบฟอร์มดังต่อไปนี้ เมื่อวางคอนโทรลเลเบลลงไปแล้ว กำหนดให้มีชื่อว่า lblPrice จากนั้นให้ดับเบิลคลิกที่ปุ่ม Go แล้วเขียนโค้ดต่อไปนี้ลงไป จากโปรแกรมเมื่อคลิกปุ่ม Go จะให้แสดงตัวเลขตั้งแต่ 10 ถึง 13 ตำแหน่งที่วางเลเบล โดยการเขียนโปรแกรมจะเปลี่ยนตัวเลขเป็นตัวอักษร แล้วเพิ่มตัวอักษรพิเศษ (ตัวขึ้นบรรทัดใหม่) โดยใช้เมธอด NewLine จากนั้นนำทั้งหมดไปวางในเลเบล เมื่อรันโปรแกรมแล้วคลิกปุ่ม Go ผลลัพธ์ที่ได้จะเป็นดังนี้ คำสั่ง Do – Loop คำสั่งนี้จะให้โปรแกรมทำงานซ้ำ โดยจำนวนครั้งในการทำซ้ำจะขึ้นอยู่กับเงื่อนไขหลังคำว่า While หรือ Until โดยรูปแบบของคำสั่งเป็นดังนี้ การทำซ้ำในรูปแบบแรกจะมีการตรวจสอบเงื่อนไขก่อนเข้าสู่ลูป ส่วนการทำซ้ำรูปแบบที่สองจะตรวจสอบเงื่อนไขหลังจากทำลูปไปแล้วหนึ่งครั้ง การตรวจสอบเงื่อนไขจะมี 2 ลักษณะ คือ แบบ While ทำซ้ำขณะที่เงื่อนไขเป็นจริง และแบบ Until ทำซ้ำจนกว่าเงื่อนไขจะเป็นจริง ตัวอย่างเช่น ถ้าหากเขียนคำสั่งทำซ้ำตามรูปแบบต่อไปนี้ คำสั่งจะทำซ้ำในขณะที่เงื่อนไขเป็นจริงอยู่ และทำซ้ำจนกว่าเงื่อนไขจะเป็นเท็จจึงจะออกจากลูป (Loop) คำสั่งนี้จะตรวจสอบเงื่อนไขในการทำซ้ำก่อนเข้าลูป ดังนั้น จำนวนครั้งในการทำซ้ำของคำสั่งจะมีค่าตั้งแต่ 0 ครั้งขึ้นไป ถ้าหากทำไปจนพบคำสั่ง Exit Do โปรแกรมจะออกจากการทำซ้ำทันที นอกจากนี้ ยังปรับให้เป็นคำสั่งที่ทำซ้ำแบบตรวจสอบเงื่อนไขหลังเข้าลูปได้อีกด้วย โดยมีรูปแบบดังนี้ การทำงานคำสั่งจะคล้ายกับคำสั่งแรก โดยโปรแกรมจะทำซ้ำในขณะที่เงื่อนไขเป็นจริงอยู่ และทำซ้ำจนกว่าเงื่อนไขจะเป็นเท็จ โปรแกรมจึงออกจากลูป แต่คำสั่งนี้จะตรวจสอบเงื่อนไขในการทำซ้ำหลังจากทำชุดคำสั่งในลูปไปแล้วอย่างน้อยหนึ่งรอบก่อนเสมอ ทำให้จำนวนครั้งการทำซ้ำของคำสั่งนี้มีค่าตั้งแต่ 1 ครั้งขึ้นไป ตัวอย่าง จากตัวอย่างข้างต้น โปรแกรมจะทำงานโดยการพิมพ์ค่า 0 ถึง 9 แล้วจึงออกจากลูป นอกจากนี้ยังมีคำสั่งนี้มีคำสั่งในอีกรูปแบบหนึ่งคือ คำสั่ง While คำสั่งนี้จะใช้สำหรับทำซ้ำโดยจะตรวจสอบเงื่อนไขก่อนการเข้าสู่ลูป คล้ายกับการทำซ้ำแบบ For นั้นจะต้องทราบค่าเริ่มต้นของการเข้าสู่ลูป แต่ถ้าหากไม่ทราบค่าเริ่มต้นและต้องการตรวจสอบเงื่อนไขเท่านั้น สามารถนำการทำซ้ำแบบ While มาใช้ได้ โดยมีรูปแบบคำสั่งดังนี้ สำหรับหัวข้อนี้จะยกตัวอย่างการเขียนโปรแกรมประยุกต์ในลักษณะของ Windows Forms และจะกล่าวถึงการใช้คอนโทรลต่างๆ และเมธอดที่น่าสนใจในโปรแกรมประยุกต์นั้นๆ ด้วย ตัวอย่างนี้จะคำนวณยอดเงิน 9,000 ผ่อนชำระ 3 ปี ดอกเบี้ย 5% โดยแทนค่า Rate เท่ากับ .05 แทนค่า NPer เท่ากับ 3 และแทนค่า PV เท่ากับ 9,000 เมธอดนี้จะคืนค่า -3,304.88 ซึ่งคือค่าที่ต้องจ่ายแต่ละงวด ตัวอย่างนี้จะคำนวณยอดเงิน 12,000 ผ่อนชำระ 5 ปี ดอกเบี้ย 6% โดยจ่ายเป็นรายเดือนเมธอดนี้จะคืนค่า ให้ออกแบบหน้าจอของโปรแกรมให้มีรูปร่างและชื่อคอนโทรลดังต่อไปนี้ ถ้าหากต้องการให้โปรแกรมที่ออกแบบ นำข้อมูลยอดเงิน ดอกเบี้ย จำนวนปี มาคำนวณเป็นยอดที่ต้องจ่ายรายเดือน สามารถนำเมธอด Financial.Pmt มาใช้ได้ โปรแกรมจะต้องอ่านข้อมูลที่ป้อนเข้าไป มาเปลี่ยนเป็นตัวเลข จากนั้นคำนวณแล้วนำผลที่ได้เปลี่ยนเป็นข้อความเพื่อนำไปแสดงผล ดังนั้นจะต้องเขียนโค้ดให้กับปุ่ม btnCal เพื่อให้โปรแกรมคำนวณ โดยดับเบิลคลิกที่ปุ่ม btnCal แล้วเขียนโค้ดดังต่อไปนี้ลงไป สำหรับปุ่ม btnExit ใช้สำหรับออกจากโปรแกรมให้ดับเบิลคลิกแล้วเขียนโค้ดดังต่อไปนี้ลงไป เมื่อรันโปรแกรมแล้วทดลองป้อนค่าต่างๆ ลงไป จากนั้นคลิกปุ่มให้คำนวณ ผลลัพธ์ที่ได้จะเป็นดังต่อไปนี้ |