บทที่ 6 โปรแกรมตรวจสอบปีที่มี 366 วัน
การตรวจสอบว่าปีใดเป็นปีที่มี 366
วัน(เดือนกุมภาพันธ์มี 29 วัน)นั้น จะต้องหาแนวคิดและความสัมพันธ์ของตัวเลข
พูดง่ายๆก็คือ เราต้องหาเอาสูตร ทางคณิตศาสตร์ มาใช้ในการคำนวณของโปรแกรม
ในที่นี้จะนำสูตรที่มีอยู่แล้ว มาใช้ในการเขียนโปรแกรม ซึ่งเป็นสูตร ที่มีการใช้งานกันโดยทั่วไป
ดาวน์โหลดโปรแกรม
การออกแบบโปรแกรม
เราจะทำง่ายคือ วางคอนโทรล 3 อย่างด้วยกัน
ซึ่งได้แก่ TextBox, CommandButton และ Label โดย TextBox จะเป็นช่องสำหรับกรอกปี
ค.ศ ที่ต้องการทราบ ปุ่ม CommandButton จะเป็นปุ่มที่คลิกสั่งเพื่อให้คำนวณ
และมี Label ทำหน้าที่แสดงผลการคำนวณ ก่อนอื่นให้คุณทำการคลิกและลาก คอลโทรล
ออกมาวาง ไว้บน Form ดังรูป
รูปแสดง การวางคอนโทรลบน Form
จะสังเกตุได้ว่าบน คอนโทรลต่างๆจะมีการแสดงผลของแต่ละคอนโทรล ตามค่าเริ่มต้นของ
คอนโทรลแต่ละอย่าง ขั้นตอนต่อมาจะเป็นการกำหนด Property ของแต่ละ คอนโทรล
เพื่อให้เป็นไปตามที่เราต้องการ โดยให้คุณ ทำการคลิกเลือก คอนโทรลทีละตัว
และกำหนดค่าจากหน้าต่าง Property ดังรูปประกอบ และให้คุณทำการเลือกแบบนี้
และกำหนด property ให้กับคอนโทรลทั้งสาม จนครบ
รูปแสดง การกำหนดค่า Property ต่างๆให้กับ Label
จากรูปด้านบน เป็นการกำหนดค่า Property Name และ Caption โดยเราจะทำการตั้งชื่อใหม่ของ
คอนโทรล Label เป็น lbDisplay (lb ที่นำหน้าเพื่อมีจุดมุ่งหลาย บอกว่า ชื่อนี้เป็นชื่อของคอนโทรลที่เป็น
Label) ต่อมาจะทำการนำข้อความเดิมที่แสดงอยู่ ออกไป โดยกำหนดค่าของ Caption
เป็นค่าว่าง (ทำการลบ ข้อความ "Label1" ออก)
รูปแสดง การกำหนดค่า Property ต่างๆให้กับ TextBox
ถัดมาจะเป็นการเลือกที่ TextBox และทำการตั้งชื่อใหม่ของ TextBox เป็น txtYear(txt
ที่นำด้านหน้าชื่อ เพื่อไว้บอกว่า เป็น TextBox นั่นเอง) พร้อมทั้งลบข้อความที่
TextBox แสดงอยู่ออกไป โดยกำหนด Property Text เป็นค่าว่าง
รูปแสดง การกำหนดค่า Property ต่างๆให้กับ CommandButton
สุดท้ายคือการเลือกที่ CommandButton และกำหนดชื่อใหม่เป็น cmdButton (cmd
ที่นำด้านหน้าชื่อ เพื่อไว้บอกว่าเป็น CommandButton นั่นเอง) จากนั้น ก็ทำการกำหนดข้อความที่จะแสดงบนปุ่มไว้ใน
Captioin ว่า "Checking"
เริ่มต้นใส่โค้ดการทำงาน
ขั้นตอนต่อไป จะเป็นการใส่โค้ดเข้าไปเพื่อให้โปรแกรมที่เราสร้างขึ้น สามารถที่จะทำงานได้ตรงตามวัตถุประสงค์ที่ตั้งไว้
ก่อนอื่นใด คุณจะต้องมองภาพออกว่า จะเกิดอะไรขึ้นในกระบวนการของการ โปรแกรม
เอาเป็นว่าเมื่อคุณทำการ Run โปรแกรมขึ้นมา ขั้นตอนถัดไปจะเป็นการ ป้อนปี
ค.ศ ที่ต้องการทราบ จากนั้น จะเป็นการคลิกปุ่ม เพื่อให้โปรแกรมทำการตรวจสอบ
จะเห็นว่าเราจะต้องทำการใส่โค้ด ในส่วนของการ คลิกของปุ่ม cmdButton และเมื่อคุณต้องการจะป้อนโค้ดดังกล่าว
ให้คุณทำการดับเบิ้ลคลิก ที่ปุ่ม cmdButton จะปรากฏหน้าต่าง Code View ขึ้นมา
และทำการป้อนโค้ดต่อไปนี้ลงไป ดังรูป
รูปแสดง หน้าต่าง Code View
จากนั้นทำการป้อนโค้ดดังต่อไปนี้ลงไป เฉพาะส่วนของ Sub cmdButton_Click()
ตามตารางโค้ด ด้านล่าง
Option Explicit
Private Sub cmdButton_Click()
Dim nyear As Integer
If txtYear.Text <> "" Then
nyear = CInt(txtYear.Text)
Else
MsgBox "Please insert the number."
Exit Sub
End If
If ((nyear Mod 4 = 0) And (nyear Mod 100 <> 0) Or (nyear Mod 400 = 0)) Then
lbDisplay.Caption = "True"
Else
lbDisplay.Caption = "False"
End If
End Sub
Private Sub Form_OKClick()
App.End
End Sub
|
อธิบายการทำงาน
เริ่มต้นโค้ดเมื่อมีการคลิกที่ปุ่ม cmdButton ก็จะมีการเรียก Sub cmdButton_Click()
ทำงาน โดยเริ่มจากการประกาศตัวแปร nyear เป็นแบบ Integer (ตัวเลข) เพื่อใช้ในการเก็บค่าปี
จากนั้นจะใช้คำสั่ง IF เพื่อตรวจสอบว่า ภายในช่องของ txtYear มีข้อความหรือไม่
หากมีข้อความ(ที่เป็นตัวเลข) อยู่ให้ทำการแปลงจาก ข้อความ ไปเป็น ตัวเลข
โดยใช้ ฟังก์ชั่น Cint แล้วนำค่าที่แปลงไป เก็บไว้ในตัวแปร nyear ที่ได้ทำการประกาศไว้
ตั้งแต่ตอนเริ่มต้นโปรแกรม แต่ถ้าหากว่าไม่มีข้อความอยู่ จะทำการกำหนดค่า การแสดงข้อความ "Please insert the number." เพื่อแจ้งให้มีการกรอก ตัวเลขจำนวนปีเข้ามา
ขั้นตอนต่อมา จะใช้คำสั่ง if เพื่อตรวจสอบเงื่อนไข ว่าจำนวนปี หารด้วย 4 ลงตัว(ใช้การ mod แล้วไม่เหลือเศษ คือ เท่ากับ 0 นั่นเอง) และ หารด้วย 100 แล้วไม่ลงตัว หรือถ้าหารด้วย 400 แล้วลงตัว ถ้าทั้งหมดตรงตางเงื่อนไข จะกำหนดข้อความ True ให้แสดงผ่านทาง Caption ของ lbDisplay (คอนโทรลที่เป็น Label) แต่ถ้าไม่เป็นไปตามเงื่อนไข ก็จะแสดงข้อความ False แทน
ทดสอบ Run โปรแกรม
สามารถทำได้โดยทำการคลิกเลือก Emulator ที่ต้องการจะ run เป็น Pocket PC 2002 Emulation
รูปแสดง การเลือก Emulator เพื่อจะ run โปรแกรม
เมื่อทำการเลือกแล้ว คุณสามารถคลิกที่ปุ่ม ลูกศร ที่อยู่บน Toolbar หรือ กดปุ่ม F5 เพื่อทำการ Run โปรแกรม หลังจากนั้นจะมีการเรียก Emulator ขึ้นมา หากมีข้อความยืนยัน ให้การ update ใดๆ ให้คุณเลือก Yes เพื่อยืนยัน ทั้งหมด ผลที่ได้จากการ Run จะเป็นดังหน้าต่าง ที่เราได้ออกแบบไว้ ให้คุณทำการทดสอบการทำงาน โดยป้อน หมายเลขปี ค.ศ ที่ต้องการตรวจสอบ แล้วคลิกปุ่ม Checking ดังรูป
รูปแสดง ผลการ Run โปรแกรมบน Emulator
|