การเขยี นโปรแกรมตดิ ตอ่ ผ้ใู ช้แบบกราฟกิ
โปรแกรมคำนวณหาคา่ ดัชนีมวลกาย คา่ ดัชนีมวลกาย (Body Mass Index: BMI) เปน็ มาตรการทีน่ ำมาใช้ประเมินภาวะอ้วนหรอื ผอมในบุคคลทีม่ ีอายุ 20 ปี ข้นึ ไป โดยนำนำ้ หนกั ตัว (กโิ ลกรัม) และสว่ นสูง (เมตร) มาใชก้ ับสตู รคำนวณดงั น้ี BMI = น้ำหนักตวั (Kg) / สูง2 (m) การแปลผลเพ่ือประเมินว่ามรี ูปรา่ งอยา่ งไร ตามตารางดังนี้ ดชั นีมวลกาย (BMI) ความหมาย >= 40 โรคอว้ นขั้นสูงสุด โรคอ้วนขนั้ 2 35.0 – 39.9 โรคอว้ นข้ัน 1 28.5 – 34.9 น้ำหนกั เกิน / ท้วม 23.5 – 28.4 นำ้ หนกั ปกติ 18.5 – 23.4 นำ้ หนักต่ำกว่าเกณฑ์ / ผอม < 18.5 จงสร้างฟอร์มพร้อมต้ังชอ่ื คอนโทรลตา่ งๆ ดงั น้ี
ออบเจ็กต์ คุณสมบัติ คา่ ที่กำหนด Font Tahoma, 11pt TextBox_weight Font Tahoma, 11pt TextBox_Tall Font Tahoma, 11pt Text Button_Process “Process” Enabled True Button_New Font Text Tahoma, 11pt Button_Exit “New” Enabled False TextBox_BMI Font Text Tahoma, 11pt TextBox_Desc “Exit” Enabled True BackColor 64,0,0 Font Tahoma, 19pt ForeColor White TextAlign Center False Visible BackColor 255,255,192 BorderStyle None Font Tahoma, 20pt Text “อว้ น / ผอม” TextAlign Visible Center False
ออบเจ็กต์ TextBox_Weight เปน็ เท็กซ์บ็อกซ์ทใี่ ช้สำหรับกรอกนำ้ หนัก (กิโลกรัม) โดยใหส้ รา้ งโค้ดเพอ่ื กำหนดตุการณ์ลงใน KeyPress ดังน้ี โคด้ คำส่งั ทบ่ี รรจุอยูใ่ นอเี วนต์ Keypress ของเท็กซบ์ ็อกซ์ TextBox_Weight ท่ีใช้ตรวจสอบคยี ์ (อนุญาตใหก้ รอกข้อมูลเฉพาะ 0-9 พรอ้ มกบั บางปมุ่ ที่ได้รับการอนญุ าตเทา่ นัน้ ) Public Class Form1 Dim BMI, weight, tall As Single Dim txt As String Private Sub TextBox_weight_Keypress(sender As Object, e As KeyPressEventArgs) Handles TextBox_weight.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตให้ใชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มลู เฉพาะตวั เลข...\") End Select End Sub เนื่องจากโค้ดดังกล่าวอยู่ตน้ โปรแกรม จึงทำการกำหนดตวั แปรท่จี ำเป็นต่อการใชง้ าน ซึ่งประกอบดว้ ยตวั แปร BMI, weight, tall และ txt ดว้ ยการประกาศอยนู่ อกซับโปรแกรม ออบเจก็ ต์ TextBox_Tall เป็นเท็กซบ์ ็อกซ์ทใี่ ช้สำหรบั กรอกสว่ นสูง (เซนติเมตร) โดยให้สร้างโคด้ เพื่อกำหนดตุการณ์ลงใน KeyPress ดงั น้ี โค้ดคำสง่ั ทบ่ี รรจุอยูใ่ นอีเวนต์ Keypress ของเท็กซ์บ็อกซ์ TextBox_Tall ทใ่ี ชต้ รวจสอบคีย์ (อนุญาตใหก้ รอกข้อมูลเฉพาะ 0-9 พรอ้ มกบั บางปุ่มท่ีได้รบั การอนุญาตเท่าน้นั ) Private Sub TextBox_Tall_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Tall.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มูลเฉพาะตวั เลข...\") End Select End Sub
ออบเจ็กต์ Button_Process เปน็ ป่มุ ทใี่ ช้สำหรบั คำนวณหาคา่ ดชั นีมวลกาย (BMI) จากน้ำหนกั และสว่ นสงู ทป่ี ้อนเข้ามา โค้ดคำสั่งท่ีบรรจุอยู่ในอีเวนต์ Click ของปุ่ม Button_Process เพ่อื คำนวณหาค่า BMI Private Sub Button_Process_Click(sender As Object, e As EventArgs) Handles Button_Process.Click If TextBox_weight.Text = \"\" Or TextBox_Tall.Text = \"\" Then MessageBox.Show(\"กรุณากรอกขอ้ มลู ให้ครบถว้ น....\", \"No data entry\", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox_weight.Focus() Exit Sub End If weight = Convert.ToSingle(TextBox_weight.Text) tall = Convert.ToSingle(TextBox_Tall.Text) BMI = weight / ((tall / 100) ^ 2) Select Case BMI Case Is >= 40 txt = \"โรคอว้ นข้นั สูงสุด\" Case 35 To 39.9 txt = \"โรคอว้ นข้นั 2\" Case 28.5 To 34.9 txt = \"โรคอว้ นข้นั 1\" Case 23.5 To 28.4 txt = \"น้าหนกั เกิน/ทว้ ม\" Case 18.5 To 23.4 txt = \"น้าหนกั ปกติ\" Case Is < 18.5 txt = \"ต่ากวา่ เกณฑ/์ ผอม\" Case Else txt = \"Error!\" End Select TextBox_BMI.Visible = True TextBox_Desc.Visible = True Button_Process.Enabled = False Button_New.Enabled = True TextBox_BMI.Text = BMI TextBox_Desc.Text = txt End Sub
ออบเจ็กต์ Button_New เปน็ ปุม่ ใหก้ ลับไปกรอกค่าใหม่ โดยจะเคลียรค์ ่าเดมิ พร้อมตงั้ คา่ ปมุ่ ต่างๆ ทเี่ กี่ยวขอ้ ง โค้ดคำส่ังทบ่ี รรจุอยู่ในอเี วนต์ Click ของปุ่ม Button_New Private Sub Button_New_Click(sender As Object, e As EventArgs) Handles Button_New.Click Button_New.Enabled = False Button_Process.Enabled = True TextBox_BMI.Text = \" \" TextBox_Desc.Text = \" \" TextBox_BMI.Visible = False TextBox_Desc.Visible = False TextBox_weight.Clear() TextBox_Tall.Clear() TextBox_weight.Focus() End Sub ออบเจก็ ต์ Button_Exit เป็นปุม่ สำหรับใหอ้ อกจากโปรแกรม โค้ดคำส่งั ท่ีบรรจอุ ย่ใู นอีเวนต์ Click ของปุ่ม Button_Exit Private Sub Button_Exit_Click(sender As Object, e As EventArgs) Handles Button_Exit.Click Me.Close() End Sub End Class
โคด้ คำส่งั รวมทง้ั หมดของโปรแกรม Public Class Form1 Dim BMI, weight, tall As Single Dim txt As String Private Sub TextBox_weight_Keypress(sender As Object, e As KeyPressEventArgs) Handles TextBox_weight.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มลู เฉพาะตวั เลข...\") End Select End Sub Private Sub TextBox_Tall_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Tall.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มูลเฉพาะตวั เลข...\") End Select End Sub Private Sub Button_Process_Click(sender As Object, e As EventArgs) Handles Button_Process.Click If TextBox_weight.Text = \"\" Or TextBox_Tall.Text = \"\" Then MessageBox.Show(\"กรุณากรอกขอ้ มลู ให้ครบถว้ น....\", \"No data entry\", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox_weight.Focus() Exit Sub End If weight = Convert.ToSingle(TextBox_weight.Text) tall = Convert.ToSingle(TextBox_Tall.Text) BMI = weight / ((tall / 100) ^ 2) Select Case BMI Case Is >= 40 txt = \"โรคอว้ นข้นั สูงสุด\" Case 35 To 39.9 txt = \"โรคอว้ นข้นั 2\" Case 28.5 To 34.9 txt = \"โรคอว้ นข้นั 1\" Case 23.5 To 28.4 txt = \"น้าหนกั เกิน/ทว้ ม\" Case 18.5 To 23.4 txt = \"น้าหนกั ปกติ\"
Case Is < 18.5 txt = \"ต่ากว่าเกณฑ/์ ผอม\" Case Else txt = \"Error!\" End Select TextBox_BMI.Visible = True TextBox_Desc.Visible = True Button_Process.Enabled = False Button_New.Enabled = True TextBox_BMI.Text = BMI TextBox_Desc.Text = txt End Sub Private Sub Button_New_Click(sender As Object, e As EventArgs) Handles Button_New.Click Button_New.Enabled = False Button_Process.Enabled = True TextBox_BMI.Text = \" \" TextBox_Desc.Text = \" \" TextBox_BMI.Visible = False TextBox_Desc.Visible = False TextBox_weight.Clear() TextBox_Tall.Clear() TextBox_weight.Focus() End Sub Private Sub Button_Exit_Click(sender As Object, e As EventArgs) Handles Button_Exit.Click Me.Close() End Sub End Class ผลการรนั โปรแกรม แสดงหน้าตา่ งโปรแกรมคำนวณหา คา่ ดัชนมี วลกาย
กรอกค่านำ้ หนัก = 65 และส่วนสูง = 170 ผล การประเมินค่า BMI ที่ได้คือ 22.49135 ซึ่ง หมายถงึ น้ำหนักปกติ กรอกค่านำ้ หนัก = 85 และส่วนสูง = 166 ผล การประเมินค่า BMI ท่ีได้คือ 30.84628 ซึ่ง หมายถึงน้ำหนักปกติ
กรณคี ลิกปุม่ Process โดยมไิ ดก้ รอกค่าส่วนสูงจะแจ้งข้อผดิ พลาดให้ทราบ กรณีกรอกค่าที่ไมใ่ ชต่ วั เลขก็จะแจง้ ข้อผดิ พลาดใหท้ ราบเชน่ กนั
Search
Read the Text Version
- 1 - 10
Pages: