เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf ·...

260

Transcript of เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf ·...

Page 1: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น
Page 2: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

เอกสารประกอบการสอน

วชาการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

ปณธาน เมฆกมล

คอ.ม. (คอมพวเตอรและเทคโนโลยสารสนเทศ)

คณะวทยาการจดการ

มหาวทยาลยราชภฏอดรธาน

Page 3: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

คานา

เอกสารประกอบการสอน รายวชาการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

รหส BC 10204 น ใชประกอบการเรยนการสอนหลกสตรบรหารธรกจบณฑต สาขาคอมพวเตอรธรกจ

ไดแบงเนอหาในการเรยนการสอนไว 11 บทเรยน ประกอบดวย โปรแกรมคอมพวเตอร, ขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม, การใชงาน Visual Basic 2012 เบองตน, การออกแบบและสรางสวนตดตอกบผใชงาน, ตวแปรและตวดาเนนการ, โครงสรางการเขยนโปรแกรมแบบลาดบและการเขยนโปรแกรมคอมพวเตอรเบองตน, โครงสรางการเขยนโปรแกรมแบบเลอกทา, โครงสรางคาสงแบบเลอกทาดวยคาสง Select Case,โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง For, โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง Do และ ซบรทนและฟงกชน

ตามลาดบ ใชเวลาในการเรยนการสอน 16 สปดาห ซงเนอหาในเอกสารประกอบการสอนนผเขยนไดรวบรวมขอมลจากแหลงตาง ๆ และจากประสบการณในการพฒนาโปรแกรมของผเขยนเอง

ผเขยนขอขอบคณบดา มารดา ภรรยาและลกชายอนเปนทรกยงทเปนกาลงใจสนบสนนใหงานสาเรจไปดวยด ผเขยนขอขอบคณเจาของงานเขยนทกทานทไดถกอางองในเอกสารประกอบการสอนเลมน ผเขยนมไดมเจตนาจะละเมดลขสทธของผใด หากมขอความหรอรปภาพบางสวนทไมไดอางถง ตองขออนญาตมา ณ ทนดวย

ปณธาน เมฆกมล

มนาคม 2555

Page 4: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

สารบญ

หนา

คานา กสารบญ ขสารบญรป ชสารบญตาราง ฒแผนบรหารการสอนประจาวชา ตแผนบรหารการสอนประจาวชาบทท 1 1

บทท 1 โปรแกรมคอมพวเตอร 3

1.1 ความหมายของโปรแกรมคอมพวเตอร 3

1.2 ภาษาโปรแกรมคอมพวเตอร 3

1.3 การทางานของภาษาโปรแกรมคอมพวเตอร 6

1.4 ตวแปรภาษา (Language Translator) 6

1.5 ประเภทของโปรแกรมคอมพวเตอร 8

สรป 9

คาถามทายบท 9

เอกสารอางอง 10

แผนบรหารการสอนประจาวชาบทท 2 11

บทท 2 ขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม 13

2.1 การวเคราะหปญหา 14

2.2 การออกแบบวธการโปรแกรม 17

2.3 ตรวจสอบอลกอรธม 25

สรป 28

แบบฝกหดทายบท 28

เอกสารอางอง 29

แผนบรหารการสอนประจาวชาบทท 3 30

Page 5: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 3 การใชงาน Visual Basic 2012 เบองตน 31

3.1 การเรยกใชงาน Microsoft Visual Studio 2012 31

3.2 การตงคาภาษาและสภาพแวดลอมเรมตนของ Visual Studio 2012 32

3.3 การใชงาน Microsoft Visual Basic 2012 เบองตน 33

3.4 ออบเจกต (Object) 38

3.5 การใชงาน Code Editor 42

3.6 การบนทกโพรเจกต 47

3.7 ไฟลประเภทตางๆในโพรเจกตของ Visual Basic 2012 48

3.8 การตงคาการบนทกโพรเจกตเมอเรมตนสรางโพรเจกต 49

3.9 การเปดโพรเจกต 49

สรป 50

แบบฝกหด 50

เอกสารอางอง 51

แผนบรหารการสอนประจาวชาบทท 4 52

บทท 4 การออกแบบและสรางสวนตดตอกบผใชงาน 53

4.1 การออกแบบและสรางสวนตดตอกบผใชงาน 53

4.2 วธการออกแบบสวนตดตอกบผใชงาน 53

4.3 Graphical User Interfaces 54

4.4 ขนตอนการออกแบบสวนตดตอกบผใชงาน 55

4.5 การสรางคอนโทรลบนฟอรม 56

4.6 การกาหนดคณสมบตของคอนโทรล 57

4.7 คอนโทรลพนฐานในการเขยนโปรแกรม 60

4.8 การตงชอออบเจกตหรอคอนโทรล 66

สรป 74

เอกสารอางอง 76

แผนบรหารการสอนประจาวชาบทท 5 77

Page 6: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 5 ตวแปรและตวดาเนนการ 79

5.1 ตวแปร (Variable) 79

5.2 ชนดขอมลของตวแปร 80

5.3 การประกาศตวแปร 82

5.4 การตงชอตวแปร 83

5.5 คาคงท (Constant) 88

5.6 ขอบเขตของตวแปร 89

5.7 การแปลงชนดขอมล 90

5.8 ตวดาเนนการ 92

สรป 94

แบบฝกหด 95

.เอกสารอางอง 96

แผนบรหารการสอนประจาวชาบทท 6 97

บทท 6 โครงสรางการเขยนโปรแกรมแบบลาดบ และการเขยนโปรแกรมคอมพวเตอรเบองตน 99

6.1 โครงสรางแบบลาดบ (Sequence Structure) 99

6.2 การกาหนดคาใหกบตวแปร 101

6.3 การแปลงขอมลดวยฟงกชน Val (Val Function) 101

6.4 การใชงาน Message Box 104

6.5 การใชงาน InputBox 106

6.6 คาสงปดฟอรม 111

6.7 การจดรปแบบผลลพธทเปนตวเลข 111

6.8 การปองกนความผดพลาด (Error) ของโปรแกรมจากการไมไดปอนขอมล 113

สรป 118

แบบฝกหด 119

เอกสารอางอง 120

แผนบรหารการสอนประจาวชาบทท 7 121

Page 7: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 7 โครงสรางการเขยนโปรแกรมแบบเลอกทา 123

7.1 โครงสรางการเขยนโปรแกรมแบบเลอกทา 123

7.2 การใชงานตวดาเนนการของโครงสรางการเขยนโปรแกรมแบบเลอกทา 124

7.3 โครงสรางคาสง if …Then (if … Then Statement) 126

7.4 โครงสราง if….Then…Else (if….Then…Else Statement) 132

7.5 โครงสราง If….Then…ElseIf (If….Then…ElseIf Statement) 136

7.6 การใชงานเชคบอกซ (Check Box) 140

7.7 การใชงานเรดโอบททน (Radio Button) 144

7.8 การใชงานกรปบอกซ (Group Box) 147

สรป 148

แบบฝกหด 149

เอกสารอางอง 150

แผนบรหารการสอนประจาวชาบทท 8 151

บทท 8 โครงสรางคาสงแบบเลอกทาดวยคาสง Select case 153

8.1 โครงสรางคาสง Select Case 153

8.2 การระบคาเปนชวงใหกบ Select Case 157

8.3 การใชงานคอมโบบอกซ (ComboBox) 163

8.4 การใชงานคอนโทรลลสตบอกซ (ListBox) 168

สรป 176

แบบฝกหด 177

เอกสารอางอง 178

แผนบรหารการสอนประจาวชาบทท 9 179

บทท 9 โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง For 181

9.1 โครงสรางคาสง For…Next 181

9.2 การใชงาน Step 189

9.3 การใชงาน Step – 190

Page 8: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

9.4 โครงสรางคาสง For Each…Next 192

สรป 197

แบบฝกหด 198

เอกสารอางอง 199

แผนบรหารการสอนประจาวชาบทท 10 200

บทท 10 โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง Do 201

10.1 โครงสรางคาสง Do While 201

10.2 โครงสรางคาสง Do Until 205

10.3 ลปทวนซ าไมรจบ 207

สรป 210

แบบฝกหด 211

เอกสารอางอง 212

แผนบรหารการสอนประจาวชาบทท 11 213

บทท 11 ซบรทนและฟงกชน 215

11.1 โปรแกรมยอย (Procedure) 215

11.2 ซบรทน (Subroutines) 216

11.3 ฟงกชน (Function) 220

11.4 ฟงกชนทมใน VB 2012 (Built-in Function) 222

สรป 230

แบบฝกหด 231

เอกสารอางอง 232

บรรณานกรม 233

Page 9: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

สารบญรป

หนา

รปท 1.1 แสดงการแปลภาษาจากภาษาโปรแกรมระดบสงเปนรหสเครอง 6

รปท 1.2 แสดงขนตอนการแปลภาษาของ Interpreter 7

รปท 1.3 แสดงขนตอนการแปลภาษาของ Complier 7

รปท 2.1 แสดงขนตอนการทางานของคอมพวเตอร 13

รปท 2.2 แสดงการวเคราะหขอมลของโปรแกรมคานวณคาลวงเวลาพนกงาน 15

รปท 2.3 แสดงการปรบลาดบการวเคราะหขอมล 16

รปท 2.4 แสดงการวเคราะหขอมลของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอนของพนกงาน 16

รปท 2.5 แสดงอลกอรธมของโปรแกรมคานวณคาลวงเวลาของพนกงาน 18

รปท 2.6 แสดงอลกอรธมของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอน

ของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา 19

รปท 2.7 แสดงผงงานระบบ และ ผงงานโปรแกรม 21

รปท 2.8 แสดงสญลกษณของผงงาน 23

รปท 2.9 แสดงอลกอรธมของโปรแกรมคานวณคาลวงเวลาของพนกงาน 23

รปท 2.10 แสดงผงงานของโปรแกรมคานวณคาลวงเวลาของพนกงาน 24

รปท 2.11 แสดงอลกอรธมของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอน

ของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา 24

รปท 2.12 แสดงผงงานของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอน

ของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา 25

รปท 2.13 แสดงตารางการตรวจสอบอลกอรธม (Desk-Check the Algorithm)

ของการคานวณคาลวงเวลาของพนกงาน 26

รปท 2.14 แสดงตารางการตรวจสอบอลกอรธม (Desk-Check the Algorithm) ของการคานวณคาลวงเวลาของพนกงาน 27

รปท 3.1 แสดงการเรยกใชงาน Microsoft Visual Studio 2012 31

รปท 3.2 แสดงการเลอกภาษา Visual Basic เปนภาษาเรมตนเมอเปด Visual Studio 2012 33

รปท 3.3 แสดงหนาจอเรมตนของ Visual Studio 2012 33

รปท 3.4 แสดงหนาจอการสรางโพรเจกตใหม 35

Page 10: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 3.5 แสดงสวนประกอบของ IDE ใน Visual Studio 2012 35

รปท 3.6 แสดงแถบเมนและแถบเครองมอ 36

รปท 3.7 แสดงสวนประกอบตาง ๆ ของ IDEโปรแกรม Microsoft Visual studio 2012 37

รปท 3.8 แสดงการเรยกใชงาน Properties Windows 38

รปท 3.9 แสดงการกาหนดคณสมบตของออบเจกตผานทาง Properties Windows 40

รปท 3.10 แสดงการกาหนดคณสมบตของออบเจกตโดยการเขยนคาสง 40

รปท 3.11แสดงการใชเมธอดของคอนโทรล 40

รปท 3.12 แสดงการเปรยบเทยบสญลกษณของคณลกษณะและวธการของออบเจกต 41

รปท 3.13 แสดงการเขยนคาสงในโปรแกรม 41

รปท 3.14 แสดงการทางานของโปรแกรมแบบ Event – Driven

จะมกลองขอความขนเมอมการคลกเมาสทปม 41

รปท 3.15 แสดงการเลอกเหตการณอน ๆ ของออบเจกตเพอเขยนคาสง 42

รปท 3.16 แสดงการเปด Code Editor ดวยการดบเบลคลกทออบเจกต 42

รปท 3.17 แสดงการเปด Code Editor ดวยการเรยกใชจาก Solution Explorer 43

รปท 3.18 แสดงคณสมบต Auto Correct ของ Code Editor 44

รปท 3.19 แสดงคณสมบต IntelliSense ของ Code Editor 44

รปท 3.20 แสดงขนตอนการตงคาตวหนงสอใน Code Editor 44

รปท 3.21 แสดงการใสคาอธบายโปรแกรม 45

รปท 3.22 แสดงการแบงคาสงเปนหลายบรรทด 46

รปท 3.23 แสดงการเขยนหลายคาสงในบรรทดเดยว 46

รปท 3.24 แสดงขนตอนการบนทกโพรเจกต 47

รปท 3.25 แสดงความสมพนธของโพรเจกต และโซลชน 47

รปท 3.26 แสดงไอคอนของ Visual Basic Project File และ Solution File 48

รปท 3.27 แสดงขนตอนการตงคาการบนทกโพรเจกตเมอเรมตนสรางโพรเจกต 49

รปท 3.28 แสดงขนตอนการเปดโพรเจกต 49

รปท 4.1 แสดงตวอยางโปรแกรมทเปน GUIs 54

รปท 4.2 ตวอยางบางสวนของสวนตดตอกบผใชหรอหนาจอโปรแกรมทผเขยนไดพฒนาขน 55

Page 11: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 4.3 แสดงการสรางคอนโทรลบนฟอรมวธท 1 56

รปท 4.4 แสดงการสรางคอนโทรลบนฟอรมวธท 2 56

รปท 4.5 แสดงการสรางคอนโทรลบนฟอรมวธท 3 57

รปท 4.6 แสดงการกาหนดคณสมบตของคอนโทรลผานหนาตาง Properties

ในชวงออกแบบโปรแกรม 58

รปท 4.7 แสดงขนตอนการกาหนดคณสมบตของคอนโทรลดวยการเขยนคาสง 59

รปท 4.8 แสดงคอนโทรล label 61

รปท 4.9 ตวอยางการกาหนดคณสมบตของ Label 62

รปท 4.10 แสดงคอนโทรล Text Box 62

รปท 4.11 แสดงตวอยางการกาหนดคณสมบตของ Text Box 63

รปท 4.12 แสดงคอนโทรล Button 63

รปท 4.13 ตวอยางการกาหนดคณสมบตของ Button 65

รปท 4.14 แสดงขนตอนการแสดงรปบนปมคาสง 66

รปท 4.15 แสดงการสรางโพรเจกตใหม 67

รปท 4.16 แสดงการตงชอฟอรม 67

รปท 4.17 แสดงขนตอนการกาหนดไตเตลของฟอรม 68

รปท 4.18 แสดงการวางคอนโทรล Label, TextBox และ Button บนฟอรม 68

รปท 4.19 แสดงขนตอนการกาหนดคณสมบต Text ของคอนโทรล Label 69

รปท 4.20 แสดงผลลพธจากการกาหนดคณสมบต Text ของคอนโทรล 69

รปท 4.21 แสดงขนตอนการกาหนดคณสมบต Enabled ของคอนโทรล Button 70

รปท 4.22 ผลลพธเมอสงใหโปรแกรมทางาน 70

รปท 4.23 แสดงการเขยนคาสงกาหนดคณสมบตของคอนโทรล 71

รปท 4.24 แสดงการทางานของโปรแกรมเมอปอนคาลงไปใน TextBox 71

รปท 4.25 แสดงการวางคอนโทรลบนฟอรม 73

รปท 4.26 แสดงการจดตาแหนงและขนาดของคอนโทรล 74

รปท 4.27 แสดงหนาจอโปรแกรมเมอสรางเสรจ 74

รปท 5.1 หนาจอโปรแกรม 86

Page 12: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 5.2 แสดงการปอนคาลงใน Text Box 87

รปท 5.3 แสดงผลลพธของโปรแกรม 87

รปท 5.4 แสดงการปอนคาลงใน Text Box 88

รปท 5.5 แสดงผลลพธเมอปอนคาผดชนดลงในตวแปร 88

รปท 6.1 แสดงผงการทางานของโครงสรางแบบลาดบ 99

รปท 6.2 หนาจอโปรแกรมทดสอบการแปลงขอมล 102

รปท 6.3 แสดงผลลพธของโปรแกรม 103

รปท 6.4 แสดงผลลพธของโปรแกรมเมอใชฟงกชน Val 104

รปท 6.5 แสดงตวอยางของ Message Box 104

รปท 6.6แสดงตวอยาง MessageBox จากคาสง 105

รปท 6.7 แสดงการวางคอนโทรล 106

รปท 6.8 แสดงคาสงการใช Message Box 106

รปท 6.9 แสดงผลลพธของ Message Box 106

รปท 6.10 แสดง Input Box 107

รปท 6.11 แสดงการวางคอนโทรล 107

รปท 6.12 แสดง InputBox เมอคลกทปม 108

รปท 6.13 แสดง MessageBox เมอคลกทปม OK ของ InputBox 108

รปท 6.14 แสดงการวางคอนโทรลของโปรแกรมคานวณคาลวงเวลา 109

รปท 6.15 แสดงคาสงโปรแกรมคานวณคาลวงเวลาของพนกงาน 110

รปท 6.16 แสดงผลลพธเมอโปรแกรมทางาน 110

รปท 6.17 แสดงการใชคาสงจดรปแบบผลลพธทเปนตวเลข 112

รปท 6.18 แสดงผลลพธของการใชคาสงจดรปแบบผลลพธ 113

รปท 6.19 แสดงขอผดพลาดของโปรแกรมเมอผใชไมปอนตวเลขใน TextBox 113

รปท 6.20 แสดงการใชฟงกชน Val เพอปองกนขอผดพลาดของโปรแกรม 113

รปท 6.21 ผลลพธของโปรแกรมเมอใชฟงกชน Val ปองกนขอผดพลาดของโปรแกรม 114

รปท 6.22 แสดงการวางคอนโทรลบนฟอรมของโปรแกรมคานวณหาเงนเดอนคงเหลอประจาเดอน 114

รปท 6.23 แสดงผลการทางานของโปรแกรมคานวณเงนเดอนคงเหลอ 115

Page 13: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 6.24 แสดงการปอนขอมลของโปรแกรมคานวณเงนเดอนคงเหลอ 116

รปท 6.25 แสดงผลลพธของโปรแกรมคานวณเงนเดอนคงเหลอ 116

รปท 6.26 แสดงการทางานของโปรแกรมโดยไมปอนขอมล 117

รปท 6.27 แสดงขอผดพลาดของโปรแกรมเมอไมปอนขอมล 117

รปท 6.28 แสดงผลลพธของโปรแกรมเมอปองกนขอผดพลาดดวยฟงกชน Val 118

รปท 7.1 แสดงผงการทางานของโครงสรางแบบเลอกทา 123

รปท 7.2 ผงงานการทางานของโครงสรางคาสง if … Then 126

รปท 7.3 แสดงโปรแกรมคานวณคาคอมมชชนจากยอดขาย 127

รปท 7.4 แสดงหนาจอโปรแกรมคานวณคาคอมมชชน 128

รปท 7.5 แสดงหนาจอเมอรนโปรแกรมและปอนคา 129

รปท 7.6 แสดงผลการทางานของโปรแกรม 129

รปท 7.7 แสดงการวางคอนโทรลของโปรแกรม 130

รปท 7.8 แสดงการทางานของการปดโปรแกรม 131

รปท 7.9 แสดงผงงานของโครงสราง if….Then…Else 132

รปท 7.10 แสดงแสดงผงงานของโปรแกรมคานวณคาอาหารแบบบฟเฟต 133

รปท 7.11 แสดงหนาจอโปรแกรมคานวณคาอาหารแบบบฟเฟต 134

รปท 7.12 แสดงผลลพธของโปรแกรมคานวณคาอาหารแบบบฟเฟตแบบท 1 135

รปท 7.13 แสดงผลลพธของโปรแกรมคานวณคาอาหารแบบบฟเฟตแบบท 2 135

รปท 7.14 แสดงผงงานของโครงสราง If….Then…ElseIf 137

รปท 7.15 แสดงผงงานของโปรแกรมแสดงเกรดนกศกษา 138

รปท 7.16 แสดงการวางคอนโทรลของโปรแกรมแสดงเกรดนกศกษา 138

รปท 7.17 แสดงการทางานของโปรแกรมแสดงเกรดของนกศกษา 140

รปท 7.18 แสดงคอนโทรล Check Box 141

รปท 7.19 แสดงการวางคอนโทรลของโปรแกรมรานขายบะหม 142

รปท 7.20 แสดงผลลพธของโปรแกรมรานขายบะหม 144

รปท 7.21 แสดงการวางคอนโทรลของโปรแกรมเลอกสเสอ 145

รปท 7.22 แสดงผลลพธของโปรแกรมเลอกสเสอ 147

Page 14: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 7.23 แสดงคอนโทรล Group Box 147

รปท 7.24 แสดงการใชกรปบอกซจดกลมคอนโทรล 148

รปท 8.1 แสดงการวางคอนโทรลของโปรแกรมประเมนเกรด 154

รปท 8.2 แสดงผลลพธของโปรแกรมประเมนเกรด 155

รปท 8.3 แสดงผลลพธของโปรแกรมประเมนเกรดเมอปรบคาสงแบบท 1 157

รปท 8.4 แสดงผลลพธของโปรแกรมประเมนเกรดเมอปรบคาสงแบบท 2 157

รปท 8.5 แสดงการวางคอนโทรลของโปรแกรมประเมนเกรด ดวยคาสง Case Is 158

รปท 8.6 แสดงผลลพธของโปรแกรมประเมนเกรดดวยคาสง Case IS 159

รปท 8.7 แสดงการวางคอนโทรลของโปรแกรมคานวณภาษเงนไดบคคลธรรมดา 160

รปท 8.8 แสดงผลลพธโปรแกรมคานวณภาษเงนไดบคคลธรรมดา 162

รปท 8.9 แสดงตวอยาง ComBoBox 163

รปท 8.10 แสดงขนตอนท 1 ของการเพมรายการในคอมโบบอกซ 163

รปท 8.11 แสดงขนตอนท 2 ของการเพมรายการในคอมโบบอกซ 164

รปท 8.12 แสดงผลลพธของการเพมรายการในคอมโบบอกซ 164

รปท 8.13 แสดงผลลพธการเขาถงรายการใน Combo Box 166

รปท 8.14 แสดงผลลพธของคาสงแสดงรายการทถกเลอกของ Combo Box 167

รปท 8.15 แสดงตวอยางลสตบอกซ 168

รปท 8.16 แสดงขนตอนการเพมรายการในลสตบอกซทางหนาตางคณสมบต 169

รปท 8.17 แสดงการเขาถงรายการของลสตบอกซ 171

รปท 8.18 แสดงผลลพธของคาสงทง 2 แบบ 171

รปท 8.19 แสดงการวางคอนโทรลของโปรแกรมขายสนคา 173

รปท 8.20 แสดงการทางานของโปรแกรมขายสนคา 176

รปท 9.1 แสดงผงงานของโครงสรางคาสง For … Next 182

รปท 9.2 แสดงการวางคอนโทรลของโปรแกรมหาผลรวม 183

รปท 9.3 แสดงการทางานของโปรแกรมหาผลรวมตวเลขจานวนเตม 184

รปท 9.4 แสดงการวางคอนโทรลของโปรแกรมหาผลรวม n ตว 185

รปท 9.5 แสดงการทางานของโปรแกรมหาผลรวมตวเลข n ตว 186

Page 15: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 9.6 แสดงผลลพธเมอปอนคาครบตามจานวนทกาหนด 187

รปท 9.7 แสดงการวางคอนโทรลของโปรแกรมแสดงวนท 187

รปท 9.8 แสดงคาสงโปรแกรมของโปรแกรมแสดงวนท 188

รปท 9.9 แสดงการทางานของโปรแกรมแสดงวนท 188

รปท 9.10 แสดงการวางคอนโทรลของโปรแกรมการใชงาน Step 189

รปท 9.11 แสดงคาสงโปรแกรม Step 189

รปท 9.12 แสดงการทางานของคาสง Step 190

รปท 9.13แสดงการวางคอนโทรลของการใชคาสง Step – 190

รปท 9.14 แสดงการการเขยนคาสง Step - 191

รปท 9.15 แสดงการทางานของคาสง Step - 191

รปท 9.16 แสดงการวางคอนโทรล 192

รปท 9.17 แสดงผลลพธของโปรแกรมดวยคาสง For…Each…Next 193

รปท 9.18 แสดงการวางคอนโทรลของโปรแกรมคานวณยอดเงนฝากแบบฝากประจา 194

รปท 9.19 แสดงผลลพธของโปรแกรมหายอดเงนฝากแบบฝากประจา 196

รปท 10.1 แสดงผงงานการทางานของคาสง Do While 201

รปท 10.2 แสดงการวางคอนโทรลของโปรแกรมแสดงตวเลข 1-10 202

รปท 10.3 แสดงผลลพธของโปรแกรมเมอใชคาสง Do While 203

รปท 10.4 แสดงผงงานการทางานของคาสง Do Until 206

รปท 10.5 แสดงการวางคอนโทรลของโปรแกรมแสดงยอดเงนคงเหลอ

และจานวนงวดจากการผอนชาระเงน 208

รปท 10.6 แสดงผลลพธของโปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน 209

รปท 11.1 แนวคดของโปรแกรมยอย 216

รปท 11.2 การทางานของซบรทน 216

รปท 11.3 หนาจอโปรแกรมแสดงวนสนสดการรบประกนสนคา 217

รปท 11.4 แสดงขนตอนการสรางซบรทน 218

รปท 11.5 แสดงบลอกคาสงของซบรทน 218

รปท 11.6 แสดงการเรยกใชซบรทน 219

Page 16: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

รปท 11.7 แสดงผลลพธของโปรแกรมแสดงวนสนสดการรบประกนสนคา 219

รปท 11.8 แสดงคาสงโปรแกรมดวยการสงผานพารามเตอร 220

รปท 11.9 การทางานของฟงกชน 220

รปท 11.10 หนาจอโปรแกรมแสดงคานวณภาษมลคาเพมจากราคาสนคา 221

รปท 11.11 แสดงหนาจอ Code Editor เมอสรางฟงกชนและเรยกใช 222

รปท 11.12 แสดงผลลพธโปรแกรมเมอมการเรยกใชฟงกชน 222

รปท 11.13 แสดงผลลพธการใชงาน Mid Function 225

รปท 11.14 แสดงผลลพธการใชงาน Right Function 226

รปท 11.15 แสดงผลลพธการใชงาน Left Function 227

รปท 11.16 แสดงผลลพธการใชงาน UCase Function 227

รปท 11.17 แสดงผลลพธการใชงาน LCase Function 228

รปท 11.18 แสดงผลลพธของการใชฟงกชนเกยวกบวนเดอนป 230

Page 17: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

สารบญตาราง

หนา

ตารางท 3.1แสดงประเภทโพรเจกตและคาอธบายของโพรเจกตตาง ๆ 34

ตารางท 3.2 แสดงปมคาสงและคาอธบายในแถบเครองมอ 36

ตารางท 3.3 แสดงตวอยางคณสมบตของออบเจกต 39

ตารางท 3.4 แสดงสและการเนนของคาสงใน Code Editor 45

ตารางท 3.5 แสดงคาอธบายของไฟลชนดตาง ๆ โพรเจกตของ Visual Basic 2012 48

ตารางท 4.1 แสดงคณสมบตของคอนโทรลและคาอธบาย 59

ตารางท 4.2 แสดงคณสมบตทสาคญของ Label 61

ตารางท 4.3 แสดงคณสมบตทสาคญของ TextBox 62

ตารางท 4.4 แสดงคณสมบตทสาคญของ Button 64

ตารางท 4.5 แสดงตวอยางการตงชอคอนโทรล 66

ตารางท 4.6 แสดงคาทกาหนดคณสมบตของคอนโทรลตาง ๆ 69

ตารางท 4.7 แสดงรายการคอนโทรลทใชในโปรแกรม 73

ตารางท 4.8 แสดงรายละเอยดการกาหนดคณสมบตของคอนโทรล 73

ตารางท 5.1 แสดงชนดขอมลใน Visual Basic 2012 80

ตารางท 5.2 แสดงการตงชอตวแปรดวยวธการระบตวยอชนดตวแปรทหนาชอตวแปร 84

ตารางท 5.3 แสดงสญลกษณแทนชนดขอมลใน Visual Basic 2012 85

ตารางท 5.4 แสดงการกาหนดคณสมบตของคอนโทรล 86

ตารางท 5.5 อธบายความหมายของแตละคาสงใน Button1 87

ตารางท 5.6 แสดงฟงกชน CType ทใชแปลงชนดขอมล 91

ตารางท 5.7 แสดงตวดาเนนการทางคณตศาสตร 92

ตารางท 5.8 แสดงตวดาเนนการกาหนดคา 93

ตารางท 5.9 แสดงลาดบความสาคญของตวดาเนนการ 93

ตารางท 6.1 แสดงตวอยางการแปลงขอมลดวยฟงกชน Val 102

ตารางท 6.2 แสดงคอนโทรลและคณสมบตของคอนโทรล 102

ตารางท 6.3 แสดงรปแบบของปมของ MessageBox 105

Page 18: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

ตารางท 6.4 แสดงรปแบบไอคอนทมใหเลอกใชใน MessageBox 105

ตารางท 6.5 แสดงการกาหนดคณสมบตของคอนโทรล 109

ตารางท 6.6 แสดงการกาหนดคณสมบตของคอนโทรล 115

ตารางท 7.1 แสดงตวดาเนนการเปรยบเทยบ 124

ตารางท 7.2 แสดงตวดาเนนการทางตรรกศาสตร 125

ตารางท 7.3 แสดงคอนโทรลและคณสมบตของคอนโทรลโปรแกรมคานวณคาคอมมชชน 128

ตารางท 7.4 แสดงคอนโทรลและคณสมบตของคอนโทรล 130

ตารางท 7.5 แสดงคอนโทรลและคณสมบตของคอนโทรลโปรแกรมคานวณคาอาหารแบบบฟเฟต 134

ตารางท 7.6 แสดงเงอนไขของการแสดงเกรดของนกศกษา 137

ตารางท 7.7 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงเกรดนกศกษา 139

ตารางท 7.8 แสดงคณสมบต (Properties) ทสาคญของเชคบอกซไดแก 141

ตารางท 7.9 แสดงเหตการณทสาคญของ CheckBox 142

ตารางท 7.10 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมรานขายบะหม 142

ตารางท 7.11 แสดงคณสมบต (Properties) ทสาคญของ Radio Button ทนไดแก 144

ตารางท 7.12 แสดงเหตการณ (Event) ทสาคญของ Radio Button 145

ตารางท 7.13 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมเลอกสเสอ 145

ตารางท 7.14 แสดงคณสมบต (Properties) ทสาคญของกรปบอกซไดแก 148

ตารางท 8.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมประเมนเกรด 154

ตารางท 8.2 แสดงเงอนไขของโปรแกรมประเมนเกรด 157

ตารางท 8.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมประเมนเกรด ดวยคาสง Case Is 158

ตารางท 8.4 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมคานวณภาษเงนไดบคคลธรรมดา 160

ตารางท 8.5 แสดงคณคอนโทรลและคณสมบตของคอนโทรล 173

ตารางท 9.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมหาผลรวม 183

ตารางท 9.2 แสดงการบวกเพมคาเขาไปในตวแปร SumValue 185

ตารางท 9.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมหาผลรวม n ตว 186

Page 19: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

ตารางท 9.6 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงวนท 188

ตารางท 9.7 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรม Step 189

ตารางท 9.8 แสดงคอนโทรลและคณสมบตของคอนโทรล 191

ตารางท 9.9 แสดงคอนโทรลและคณสมบตของคอนโทรล 193

ตารางท 9.10 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมคานวณยอดเงนฝากแบบฝากประจา 194

ตารางท 10.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงตวเลข 1- 10 202

ตารางท 10.2 แสดงคาของตวแปรของคาสง Do While 204

ตารางท 10.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมโปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน 208

ตารางท 11.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมแสดงวนสนสดการรบประกนสนคา 217

ตารางท 11.2 แสดงคอนโทรลและคณสมบตของคอนโทรลของ

โปรแกรมคานวณภาษมลคาเพมจากราคาสนคา 221

Page 20: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชา

รหสวชา BC 10204 3(2-2-5)

รายวชา การเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

(Basic Computer Programming For Business)

คาอธบายรายวชา

ศกษาแนวคด ขนตอนและวธการเขยนโปรแกรม ทกษะทจาเปนตอการพฒนาโปรแกรม เทคนคในการพฒนาโปรแกรมประยกต การเขยนโปรแกรมประยกตเบองตนสาหรบงานธรกจโดยศกษาจากตวอยางการใชงานจรง

วตถประสงคทวไป

1. เพอใหนกศกษาเขาใจและสามารถอธบายแนวคดและขนตอนวธการเขยนโปรแกรมได

2. เพอใหนกศกษาสามารถเขยนโปรแกรมดวยโครงสรางแบบลาดบได

3. เพอใหนกศกษาสามารถเขยนโปรแกรมดวยโครงสรางแบบเลอกทาได

4. เพอใหนกศกษาสามารถเขยนโปรแกรมดวยโครงสรางแบบทาซ าได

5. เพอใหนกศกษาสามารถใชงานโปรแกรมภาษา Visual Basic ได

6. เพอใหนกศกษาสามารถเขยนโปรแกรมประยกตเบองตนสาหรบงานธรกจได

เนอหา

บทท 1 โปรแกรมคอมพวเตอร

1.1 ความหมายของโปรแกรมคอมพวเตอร

1.2 ภาษาโปรแกรมคอมพวเตอร

1.3 การทางานของภาษาโปรแกรมคอมพวเตอร

1.4 ตวแปรภาษา

1.5 ประเภทของโปรแกรมคอมพวเตอร

สรป

แบบฝกหด

2 ชวโมง

Page 21: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 2

ขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม

2.1 การวเคราะหปญหา

2.2 การออกแบบวธการโปรแกรม

2.2.1 การออกแบบอลกอรธม

2.2.2 การเขยนผงงาน

ตรวจสอบอลกอรธม

สรป

แบบฝกหด

8 ชวโมง

บทท 3 การใชงาน Visual Basic 2012 เบองตน

3.1 การเรยกใชงาน Microsoft Visual Studio 2012

3.2 การตงคาภาษาและสภาพแวดลอมเรมตนของ Visual Studio 2012

3.3 การใชงาน Microsoft Visual Basic 2012 เบองตน

3.4 ออบเจกต (Object)

3.5 การใชงาน Code Editor

3.6 การบนทกโพรเจกต

3.7 ไฟลประเภทตางๆในโพรเจกตของ Visual Basic 2012

3.8 การตงคาการบนทกโพรเจกตเมอเรมตนสรางโพรเจกต

3.9 การเปดโพรเจกต

สรป

แบบฝกหด

4 ชวโมง

บทท 4 การออกแบบและสรางสวนตดตอกบผใชงาน

4.1 การออกแบบและสรางสวนตดตอกบผใชงาน

4.2 วธการออกแบบสวนตดตอกบผใชงาน

4.3 Graphical User Interfaces

4.4 ขนตอนการออกแบบสวนตดตอกบผใชงาน

4.5 การสรางคอนโทรลบนฟอรม

4.6 การกาหนดคณสมบตของคอนโทรล

4 ชวโมง

Page 22: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

4.7 คอนโทรลพนฐานในการเขยนโปรแกรม

4.8 การตงชอออบเจกตหรอคอนโทรล

สรป

แบบฝกหด

บทท 5 ตวแปรและตวดาเนนการ

5.1 ตวแปร

5.2 ชนดของขอมลของตวแปร

5.3 การประกาศตวแปร

5.4 การตงชอตวแปร

5.5 คาคงท (Constant)

5.6 ขอบเขตของตวแปร

5.7 การแปลงชนดขอมล 5.8 ตวดาเนนการ

สรป

แบบฝกหด

8 ชวโมง

บทท 6 โครงสรางการเขยนโปรแกรมแบบลาดบและการเขยนโปรแกรมคอมพวเตอรเบองตน

6.1 โครงสรางแบบลาดบ

6.2 การกาหนดคาใหกบตวแปร

6.3 การแปลงขอมลดวยฟงกชน Val (Val Function)

6.4 การใชงาน MessageBox

6.5 การใชงาน InputBox

6.6 คาสงปดฟอรม

6.7 การจดรปแบบผลลพธทเปนตวเลข

6.8 การปองกนความผดพลาด (Error) ของโปรแกรมจากการไมไดปอนขอมล

สรป

แบบฝกหด

8 ชวโมง

Page 23: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 7 โครงสรางการเขยนโปรแกรมแบบเลอกทา

7.1 โครงสรางการเขยนโปรแกรมแบบเลอกทา

7.2 การใชงานตวดาเนนการของโครงสรางการเขยนโปรแกรมแบบเลอกทา

7.3 โครงสรางคาสง if …Then (if … Then Statement)

7.4 โครงสราง if….Then…Else (if….Then…Else Statement)

7.5 โครงสราง If….Then…ElseIf (If….Then…ElseIf Statement)

7.6 การใชงาน Check Box

7.7 การใชงาน Radio Button

7.8 การใชงาน Group Box

สรป

แบบฝกหด

10 ชวโมง

บทท 8 โครงสรางคาสงแบบเลอกทาดวยคาสง Select case

8.1 โครงสรางคาสง Select Case

8.2 การระบคาเปนชวงใหกบ Select Case

8.3 การใชงานคอนโทรล Combo Box

8.4 การใชงานคอนโทรล List Box

สรป

แบบฝกหด

8 ชวโมง

บทท 9 โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง For

9.1 โครงสรางคาสง For…Next

9.2 การใชงาน Step

9.3 การใชงาน Step –

9.4 โครงสรางคาสง For Each…Next

สรป

แบบฝกหด

4 ชวโมง

บทท 10 โครงสรางการเขยนโปรแกรมแบบทาซ าดวยโครงสรางคาสง Do

10.1 โครงสรางคาสง Do While

10.2 โครงสรางคาสง Do Until

10.3 ลปทวนซ าไมรจบ

4 ชวโมง

Page 24: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

สรป

แบบฝกหด

บทท 11 ซบรทนและฟงกชน

11.1 โปรแกรมยอย (Procedure)

11.2 ซบรทน (Subroutines)

11.3 ฟงกชน (Function)

11.4 ฟงกชนทมใน VB 2012 (Built-in Function)

สรป

แบบฝกหด

8 ชวโมง

วธสอนและกจกรรม

1. อธบายขนตอนการเขยนโปรแกรมคอมพวเตอรในทกเรองอยางละเอยด

2. สาธตวธการเขยนโปรแกรมและอธบายคาสง

3. ใหนกศกษาฝกปฏบตเปนรายบคคล

4. บอกขอผดพลาดของคาสงในการเขยนโปรแกรมและวธแกปญหา

5.ใหนกศกษาปรบปรงวธการเขยนโปรแกรมคอมพวเตอรและทดลองแกไขขอผดพลาดท

เกดขน

6. ยกตวอยางกรณศกษาและใหนกศกษาทดลองเขยนโปรแกรมเพอแกไขปญหา

7. มอบหมายแบบฝกหดเปนการบาน

8. ผสอนสรปเนอหาเพมเตม

สอการเรยนการสอน

1. เอกสารประกอบการสอน

2. แผนเลอน

3. คอมพวเตอรและโปรแกรมภาษา Visual Basic 2012

Page 25: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

การวดและประเมนผล

การวดผล

1. คะแนนระหวางภาคเรยน 70 %

1.1 ปฏบตการเขยนโปรแกรม 40 %

1.2 คนควาและแบบฝกหด 20 %

1.3 การเขาชนเรยน 10 %

2. คะแนนสอบปลายภาคเรยน 30 %

การประเมนผล

คะแนนระหวาง 80 – 100

คะแนนระหวาง 75 – 79

คะแนนระหวาง 70 – 74

คะแนนระหวาง 65 – 69

คะแนนระหวาง 60 – 64

คะแนนระหวาง 55 – 59

คะแนนระหวาง 50 – 54

คะแนนระหวาง 0 – 49

ไดระดบ A

ไดระดบ B+

ไดระดบ B

ไดระดบ C+

ไดระดบ C

ไดระดบ D+

ไดระดบ D

ไดระดบ F

Page 26: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 1

หวขอเนอหาประจาบท 1.1 โปรแกรมคอมพวเตอร

1.2 ความหมายของโปรแกรมคอมพวเตอร

1.3 ภาษาโปรแกรมคอมพวเตอร

1.4 การทางานของภาษาโปรแกรมคอมพวเตอร

1.5 ตวแปรภาษา

1.6 ประเภทของโปรแกรมคอมพวเตอร

1.7 สรป

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายความหมายของโปรแกรมคอมพวเตอรไดถกตอง

2. อธบายภาษาโปรแกรมคอมพวเตอรไดถกตอง

3. อธบายการทางานของโปรแกรมคอมพวเตอรไดถกตอง

4. อธบายการทางานตวแปลภาษา

5. อธบายประเภทของโปรแกรมคอมพวเตอร

6. อธบายขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม

วธการสอนและกจกรรมการเรยนการสอนประจาบท

1. บรรยายเนอหาในแตละหวขอ พรอมยกตวอยางประกอบ

2. ศกษาจากเอกสารประกอบการสอน

3. ผสอนสรปเนอหา

4. ผเรยนถามขอสงสย

5. ผสอนทาการซกถาม

6. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน

1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

Page 27: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

2

การวดและประเมนผล 1. สงเกตการณเขาชนเรยนและความสนใจขณะบรรยาย

2. มสวนรวมในการซกถามระหวางการบรรยาย

3. การตอบคาถามขณะทผสอนบรรยาย

4. การตรวจแบบฝกหด

Page 28: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 1 โปรแกรมคอมพวเตอร

คอมพวเตอรไดเขามามบทบาทสาคญในหลายดานไมวาจะเปนดานการศกษา การตดตอสอสาร ความบนเทง ดานธรกจ การนาคอมพวเตอรมาชวยในการทางานดานตาง ๆ นนคอมพวเตอรไมสามารถทางานไดเองทนท ตองมการสงใหคอมพวเตอรทางานตามขนตอนเพ อใหคอมพวเตอรสามารถประมวลผลไดอยางถกตอง รวดเรวทนตอการใชงาน การสงใหคอมพวเตอรทางานนนจะใชกลมชดคาสงหรอทเรยกอกอยางหนงวา โปรแกรมคอมพวเตอร และการไดมาของกลมชดคาสงนนจะตองมการสรางกลมชดคาสงโดยใช ภาษาโปรแกรมคอมพวเตอร

1.1 ความหมายของโปรแกรมคอมพวเตอร

โปรแกรมคอมพวเตอร (Computer Program) หมายถง กลมชดคาสงทใชอธบายชนงาน หรอกลมงานทจะประมวลผลโดยคอมพวเตอร โปรแกรมคอมพวเตอรอาจหมายถง ซอฟตแวร โปรแกรมประยกต โปรแกรมคอมพวเตอรสวนใหญนนเปนชดคาสงทออกแบบตามขนตอนวธ โดยปกตแลวเขยนโดยโปรแกรมเมอร หรอไมกสรางโดยโปรแกรมอน โปรแกรมคอมพวเตอรชดหนง ๆ อาจเขยนขนดวยระบบรหส หรอทเรยกวา ภาษาเครอง ซงมกเขยนไดยากและเหมาะกบชางเทคนคเฉพาะทาง ภายหลงจงไดมการสรางภาษาโปรแกรมทใกลเคยงภาษามนษยมากขน (th.wikipedia.org, 2555)

โปรแกรมคอมพวเตอรหรอซอฟตแวร ถอวาเปนสวนสาคญในการควบคมการทางานของคอมพวเตอรใหเปนไปตามขนตอนทกาหนดไว คอมพวเตอรไมสามารถทางานนอกเหนอจากทกาหนดไวในโปรแกรม ฉะนนการทจะใหคอมพวเตอรทางานไดหลายอยางจะตองมการพฒนาโปรแกรมใหคอมพวเตอรทางานไดตามตองการ

1.2 ภาษาโปรแกรมคอมพวเตอร

คอมพวเตอรทางานดวยสญญาณไฟฟา โดยใชระบบเลขฐานสอง ทมตวเลข 0 และ 1 เปนรหสในการสงงานใหกบเครองคอมพวเตอร การจาและเขาใจในชดคาสงจะทาไดยากจงมการพฒนารหสสงงานใหกบเครองคอมพวเตอรในรปแบบตวอกษร ทเรยกวา ภาษาโปรแกรมคอมพวเตอร

ภาษาโปรแกรมคอมพวเตอร หมายถง ภาษาหรอคาสงใด ๆ ทผใชงานใชสอสารกบคอมพวเตอรแลวคอมพวเตอรสามารถทางานตามคาสงนนได

ภาษาโปรแกรมคอมพวเตอรแบงออกไดเปนสองกลมคอ ภาษาระดบต า(Low-Level

Programming Language) และภาษาระดบสง (High-Level Programming Language)

Page 29: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

4

1.2.1 ภาษาโปรแกรมระดบตา (Low-Level Programming Language) หมายถง ภาษาทองกบสถาปตยกรรมคอมพวเตอรใดสถาปตยกรรมหนง ซงไมโครโพรเซสเซอรแตละรน หรอ แตละตระกล กมกมภาษาระดบตาทแตกตางกน และโดยปกตแลว หนงคาสงในภาษาระดบตา จะหมายถงการสงงานคอมพวเตอรใหทางานหนงอยาง (1 instruction = 1 operation) ภาษาระดบตา ม 2 ภาษา คอ

ภาษาเครอง เปนภาษาโปรแกรมรนทหนง (first-generation programming language: 1GL) ซงเปนภาษาเดยวทไมโครโพรเซสเซอรสามารถเขาใจ คาสงเปนตวเลขลวนๆ การอานและเขยนอาจตองใชเครองมอพเศษ จงไมคอยมการใชภาษาเครองโดยตรง

ภาษาแอสเซมบล เปนภาษาโปรแกรมรนทสอง (second-generation programming language:

2GL) ซงเปนการปรบภาษาเครองใหสามารถเขยนไดสะดวกขนโดยการพมพคาสงทเปนตวอกษรแทนตวเลข เวลาเขยนเสรจ จะตองใชตวแปลโปรแกรมจงจะใชงานได และถงแมวาไมใชภาษาเครองโดยตรง ผเขยนโปรแกรมยงจาเปนตองเขาใจโครงสรางของไมโครโพรเซสเซอรทกาลงเขยนเปนอยางด การใชภาษาแอสเซมบลจาเปนตองผานการแปลภาษาดวยคอมไพเลอรเฉพาะเรยกวา แอสเซมเบลอร (assembler) ใหอยในรปของรหสคาสงกอน (เชน .OBJ) โดยปกต ภาษานคอนขางมความยงยากในการใชงาน และการเขยนโปรแกรมเปนจานวนบรรทดมากมากกวา เมอเปรยบเทยบกบการใชภาษาระดบสง เชน ภาษา C หรอภาษา BASIC แตจะทาใหไดผลลพธการทางานของโปรแกรมเรวกวา และขนาดของตวโปรแกรมมขนาดเนอท นอยกวาโปรแกรมทสรางจากภาษาอนมาก จงนยมใชภาษานเม อตองการประหยดเวลาทางานของเครองคอมพวเตอร และเพมประสทธภาพของโปรแกรม

1.2.2 ภาษาโปรแกรมระดบสง (High-Level Programming Language)

ภาษาโปรแกรมระดบสงเปนภาษาคอมพวเตอรทพฒนาขนมาใหใกลเคยงกบภาษามนษยทาใหผเขยนโปรแกรมเขาใจและใชงานไดงายกวาภาษาโปรแกรมระดบตา ตวอยางของภาษาโปรแกรมระดบสงเชน

ภาษาซ (C Programming Language) เปนภาษาทออกแบบขนมาเพอสรางซอฟตแวรระบบ และยงพฒนาซอฟตแวรประยกตไดอกดวย ภาษาซเปนภาษาทไดรบความนยมมากทสด

ภาษาซพลสพลส (C++ Programming Language) เปนภาษาโปรแกรมคอมพวเตอรอเนกประสงค มโครงสรางภาษาทมการจดชนดขอมลแบบสแตตก (statically typed) และสนบสนนรปแบบการเขยนโปรแกรมทหลากหลาย (multi-paradigm language) ไดแก การ

Page 30: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

5

โปรแกรมเชงกระบวนคาสง, การนยามขอมล, การโปรแกรมเชงวตถ ภาษาซพลสพลสเปนภาษาโปรแกรมเชงพาณชยทนยมมากภาษาหนงนบตงแตชวงทศวรรษ 1990

ภาษาปาสคาล (Pascal Programming Language) เปนภาษาโปรแกรมทใชกนอยางกวางขวาง โดยเฉพาะในวงการศกษา คดคนขนโดย นเคลาส แวรท (Niklaus Wirth) นกวทยาการคอมพวเตอรชาวสวตเซอรแลนด ในป ค.ศ.1970 เพอชวยในการเรยนการสอนการเขยนโปรแกรมโครงสราง (structured programming) ภาษาปาสคาลนนพฒนาขนมาจาก ภาษาอลกอล (Algol) และชอปาสคาลนน ตงเพอเปนเกยรตแก แบลส ปาสคาล (Blaise Pascal)

ภาษาเบสก (BASIC programming language) เปนภาษาโปรแกรมทออกแบบมาใหใชงานไดงาย และยงไดรบความนยมมาจนถงทกวนน เบสกออกแบบมาใหใชกบคอมพวเตอรตามบาน

ชอภาษาเบสก หรอ BASIC ยอมาจาก Beginner's All-purpose Symbolic Instruction Code

บรษทไมโครซอฟทไดนาภาษาเบสกมาปรบปรงใหทนสมย และพฒนาเครองมอพฒนาโปรแกรม Visual Basic ทาใหเบสกไดรบความนยมในการพฒนาโปรแกรมยคใหม รนลาสดของวชวลเบสกเรยกวา VB.NET

ภาษาจาวา (Java programming language) เปนภาษาโปรแกรมเชงวตถ (Object Oriented

Programming) พฒนาโดย เจมส กอสลง และวศวกรคนอนๆ ท ซน ไมโครซสเตมส ภาษาจาวาถกพฒนาขนในป พ.ศ. 2534 (ค.ศ. 1991) โดยเปนสวนหนงของ โครงการกรน (the Green

Project) และสาเรจออกสสาธารณะในป พ.ศ. 2538 (ค.ศ. 1995) ซงภาษานมจดประสงคเพอใชแทนภาษาซพลส พลส (C++) แตเดมภาษานเรยกวา ภาษาโอก (Oak) ซงตงชอตามตนโอกใกลททางานของ เจมส กอสลง แตวามปญหาทางลขสทธ จงเปลยนไปใชชอ "จาวา" ซงเปนชอกาแฟแทน

ภาษาซชารป (C# Programming Language) เปนภาษาโปรแกรมเชงวตถทางานบนดอตเนตเฟรมเวรก พฒนาโดยบรษทไมโครซอฟทและม Anders Hejlsberg เปนหวหนาโครงการ โดยมรากฐานมาจากภาษาซพลสพลสและภาษาอนๆ (โดยเฉพาะภาษาเดลไฟและจาวา) โดยปจจบนภาษาซซารปเปนภาษามาตรฐานรองรบโดย ECMA และ ISO

Page 31: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

6

1.3 การทางานของภาษาโปรแกรมคอมพวเตอร

เมอมการเขยนโปรแกรมโดยใชภาษาโปรแกรมคอมพวเตอรระดบสงเชน ภาษา C, JAVA,

Visual Basic จะมการแปลภาษาจากภาษาโปรแกรมเปนรหสกลางหรอเรยกอกอยางหนงวา Byte Code

จากนนเวลาทางานรหสกลางจะแปลเปนรหสเครอง(Machine Code) เพอใหคอมพวเตอรทางานตามทผเขยนโปรแกรมกาหนด ในขนตอนทมการแปลงรหสกลางเปนรหสเครองนนจะเรยกวา Just-In-Time

(JIT)

แตสาหรบ Microsoft .Net ซงเปนภาษาโปรแกรมทพฒนาโดยบรษทไมโครซอฟต เชน C#

และ Visual Basic การเปลยนจากภาษาโปรแกรมเปนภาษากลางจะเรยกวา Common Intermediate

Language (CIL) และในขณะททางานจะแปลงเปนภาษาเครองเรยกวา Common Language

Runtime(CLR)

รปท 1.1 แสดงการแปลภาษาจากภาษาโปรแกรมระดบสงเปนรหสเครอง

ทมา : (Rod Stephens, 2012 : 27)

1.4 ตวแปรภาษา (Language Translator)

เปนโปรแกรมทเขยนขนมาเพอใชในการแปลความหมายของคาสงในภาษาระดบสงชนดตาง ๆ ใหเปนภาษาทเครองคอมพวเตอรเขาใจได ภาษาระดบสงมกจะถกนาไปเขยนเพอสรางเปนซอฟตแวรคอมพวเตอรตาง ๆ มากมาย โดยโปรแกรมเมอรหรอนกพฒนาระบบ ซงในระหวางททาการเขยนโปรแกรม จาเปนตองทดสอบคาสงทเขยนขนมาวาถกตองหรอไมและมผลลพธเปนอยางไร ไดมการแบงชนดของตวแปรภาษาออกเปน 2 ชนด ไดแก

C#

Program

Visual Basic

Program

Java

Program

CIL

code

Java

Bytecode

Machine

Code

C# Compiler

Visual Basic

Compiler

Java Compiler

CLR

JVM

Page 32: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

7

1.4.1 อนเตอรพรเตอร (Interpreter) จะทาการแปลคาสงทเขยนทละ 1 คาสง ใหเปนภาษาเครองแลวนาคาสงนนไปทาการประมวลผลและแสดงผลลพธทนทหากไมพบขอผดพลาด หลงจากนนจะรบคาสงถดไปในโปรแกรมเพอแปลเปนภาษาเครองแลวทาการประมวลผลเรอย ๆ จนจบโปรแกรม ในระหวางแปลคาสงถาหากพบขอผดพลาดทางดานกฎเกณฑของภาษาในคาสงทรบมาแปล Interpreter กจะหยดทางาน พรอมแจงขอผดพลาดนน ๆ ใหผเขยนโปรแกรมทราบ เพอทาการแกไขใหถกตอง แตหากไมพบขอผดพลาดของคาสงในบรรทดนน กจะนาไปประมวลผลและแสดงผลลพธออกทางจอภาพทนท การแปลภาษาดวย Interpreter จะไมมการเกบ Object Code ไว ดงนนเมอตองการใชงานโปรแกรมนนซ าอก จาเปนตองทาการแปลคาสงในโปรแกรมนนใหมทกครง (กตต ภกด,

2546 : 134)

รปท 1.2 แสดงขนตอนการแปลภาษาของ Interpreter

ทมา : (กตต ภกดวฒนะกล, 2546 : 134)

1.4.2 คอมไพเลอร (Complier) จะตรวจสอบคาสงทเขยนขนทงหมดกอนแลวทาการแปลเปนภาษาเครองภายในครงเดยว จากนนเครองกจะทาการประมวลผลและแสดงผลลพธออกทางจอภาพ หลงจากตรวจสอบคาสงเสรจสน หากพบวามคาสงทเขยนผดไวยากรณหรอพบขอผดพลาดอน ๆ ภายในโปรแกรมทเขยนขน ตวแปรภาษาจะแจงใหผเขยนโปรแกรมทราบวาผดพลาดทบรรทดใด สาเหตอะไร ท งหมดกจด ผเขยนโปรแกรมตองทาการแกไขขอผดพลาดน นใหหมด แลวทาการแปลภาษาใหมเมอถกตองแลว จงสงภาษาเครองไปประมวลผลเพอแสดงผลลพธ การแปลภาษาดวย Complier จะมการเกบ Object Code ไว แลวจงนาไปประมวลผลทหนวยความจาในคราวเดยว ทาใหหนวยประมวลผลทางานนอยกวาการแปลภาษาดวย Interpreter (กตต ภกดวฒนะกล, 2546 : 134-135)

รปท 1.3 แสดงขนตอนการแปลภาษาของ Complier

ทมา : (กตต ภกดวฒนะกล, 2546 : 135)

คาสงภาษาระดบสง

1 สง

Interpreter ภาษาเครอง Processor

คาสงภาษาระดบสงทงหมด

Complier ภาษาเครอง Processor

Page 33: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

8

1.5 ประเภทของโปรแกรมคอมพวเตอร

การแบงประเภทของโปรแกรมคอมพวเตอรหรอซอฟตแวรสามารถแบงไดเปนหลายแบบ

1.5.1 การแบงประเภทเชงเทคนค อาจแบงซอฟตแวรเปน 3 ประเภทหลกคอ

ซอฟตแวรระบบ (System/Infrastructure software) ใชในการทาใหคอมพวเตอรฮารดแวรทางานกบระบบคอมพวเตอรได โดยรวมถงระบบปฏบตการ ไดรเวอร และระบบหลกของคอมพวเตอรตาง ๆ

โปรแกรมประยกต หรอซอฟตแวรประยกต (Application software) ชวยใหผใชงานสามารถดาเนนงานตาง ๆ โดยทวไปเชน โปรแกรมสานกงานฐานขอมล คอมพวเตอรเกม เวบเบราวเซอร โดยโปรแกรมประยกตจะมจยไอ

โปรแกรมคอมพวเตอร (Tools/Utilities) ประกอบไปดวยเครองมอชวยใหโปรแกรมเมอรเขยนโปรแกรมอน ๆ หรอโปรแกรมประยกตได เครองมอตาง ๆ ประกอบไปดวย คอมไพเลอร อนเตอรพรเตอร ดบกเกอร

1.5.2 การแบงประเภทตามรปแบบการสงมอบ แบงไดเปน 2 กลมคอ

ซอฟตแวรสาเรจรป (Package software) ซอฟตแวรทมการขาย ใหเชา หรอใหบรการ โดยคดคาบรการเปน transaction หรอ license

ซอฟตแวรทพฒนา (Outsources software development) เปนการออกแบบและพฒนาซอฟตแวรเพอใชงานเฉพาะกบงานประเภทตาง ๆ เฉพาะกจกรรมไป สวนใหญลขสทธของซอฟตแวรนจะเปนของผทวาจางใหพฒนาขน

1.5.3 การแบงตามประเภทของการนาไปใชงานหลก แบงไดเปน 3 กลมคอ

ซอฟตแวรชวยในการบรหารจดการทวไป (Enterprise software) เปนซอฟตแวรทใชกบการทางานเพอแกปญหา/จดการทรพยากรของ บคคล/องคกร เชน ซอฟตแวรบญช ซอฟตแวรจดทาเอกสาร เปนตน

ซอฟตแวรสาหรบอปกรณพกพาขนาดเลก (Mobile applications software) เปนซอฟตแวรททางานผานระบบปฏบตการพเศษบนอปกรณขนาดเลก เชน

Page 34: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

9

โทรศพทมอถอ PDA โดยสามารถแบงเปนกลมใหญๆ ได 2 กลม คอ (1) ซอฟตแวรเพอสนบสนนธรกรรมทางธรกจ (Business applications) เชน Mobile banking, Mobile

payment, GPS on Mobile, Mobile applications for business process management

และ(2) ซอฟตแวรทเกยวของกบนนทนาการและบนเทง (Entertainment applications)

ซงรวมเกมบนโทรศพทเคลอนท

ซอฟตแวรสมองกลฝงตว (Embedded System Software) เปนซอฟตแวรซงฝงอยไวในอปกรณอเลกทรอนกสตางๆ เพอใชสาหรบควบคมการทางานของอปกรณนนๆ เชน ระบบ GPRS ระบบทาความเยนอจฉรยะ ระบบตรวจสอบยอนกลบ เปนตน

สรป

โปรแกรมคอมพวเตอร (Computer Program) หมายถง กลมชดคาสงทใชอธบายชนงาน หรอกลมงานทจะประมวลผลโดยคอมพวเตอร

ภาษาโปรแกรมคอมพวเตอร หมายถง ภาษาหรอคาสงใด ๆ ทผใชงานใชสอสารกบคอมพวเตอรแลวคอมพวเตอรสามารถทางานตามคาสงนนได

ภาษาโปรแกรมคอมพวเตอรแบงออกไดเปนสองกลมคอ ภาษาระดบตา(Low-Level

Programming Language) และภาษาระดบสง (High-Level Programming Language)

ตวแปรภาษาเปนโปรแกรมทเขยนขนมาเพอใชในการแปลความหมายของคาสงในภาษาระดบสงชนดตาง ๆ ใหเปนภาษาทเครองคอมพวเตอรเขาใจได แบงชนดของตวแปรภาษาออกเปน 2

ชนด ไดแก อนเตอรพรเตอร และคอมไพเลอร

ประเภทของโปรแกรมคอมพวเตอรหรอซอฟตแวรสามารถแบงได การแบงเชงเทคนค การแบงตามรปแบบการสงมอบ การแบงตามประเภทของการนาไปใชงานหลก

คาถามทายบท

1. ใหยกตวอยางภาษาคอมพวเตอรทมอยในปจจบนและบอกถงความสามารถภาษานนยางนอย 3 ภาษา

2. ตวแปลภาษาอนเตอรพรเตอรและคอมไพเลอรแตกตางกนอยางไร

3. ใหยกตวของซอฟตแวรระบบ 3 ตวอยาง

4. ใหยกตวของซอฟตแวรประยกต 3 ตวอยาง

Page 35: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

10

เอกสารอางอง

กตต ภกดวฒนะกล. (2546). คมภรระบบสารสนเทศ. พมพครงท 2. กรงเทพมหานคร : เคทพ คอมพ แอนด คอนซลท.

โอภาส เอยมสรวงศ. (2547). การวเคราะหและออกแบบระบบ. กรงเทพ: ซเอดยเคชน.

Rod Stephens.(2012). Fundamentals of Microsoft .NET Programming. California : O’Reilly Media

Inc,

http://th.wikipedia.org/wiki/โปรแกรมคอมพวเตอร

Page 36: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 2 หวขอเนอหาประจาบท 2.1 การวเคราะหปญหา

2.2 การออกแบบวธการโปรแกรม

2.2.1 การออกแบบอลกอรธม

2.2.2 การเขยนผงงาน

2.3 ตรวจสอบอลกอรธม

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. วเคราะหปญหาโปรแกรมได

2. อธบายความหมายและความจาเปนของอลกอรธมได

3. อธบายความหมายและความจาเปนของผงงานได

4. ออกแบบอลกอรธมได

5. เขยนผงงานได

6. ตรวจสอบอลกอรธมได

วธการสอนและกจกรรมการเรยนการสอนประจาบท

1. บรรยายเนอหาในแตละหวขอ พรอมยกตวอยางประกอบ

2. ศกษาจากเอกสารประกอบการสอน

3. ผสอนสรปเนอหา

4. ผเรยนถามขอสงสย

5. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน

1. เอกสารประกอบการสอน

2. ภาพเลอน (Slide)

Page 37: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

12

การวดและประเมนผล 1. สงเกตการณเขาชนเรยนและความสนใจขณะบรรยาย

2. มสวนรวมในการซกถามระหวางการบรรยาย

3. การตอบคาถามขณะทผสอนบรรยาย

4. การตรวจแบบฝกหด

Page 38: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 2 ขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม

ขนตอนและวธการทางคอมพวเตอรในการพฒนาโปรแกรม หมายถงกระบวนการแกปญหาทมลาดบหรอวธการในการแกไขปญหาใดปญหาหนงอยางเปนขนตอน ซงการทางานของคอมพวเตอรประกอบไปดวยการรบการขอมล การประมวลผล และการแสดงผล ดงรปท 2.1

รปท 2.1 แสดงขนตอนการทางานของคอมพวเตอร

กอนการเขยนโปรแกรมคอมพวเตอร ขนตอนสาคญกคอ ขนตอนการวเคราะหปญหาและการออกแบบโปรแกรม เนองจากทง 2 ขนตอนน ถอวาเปนการวางแผนลาดบความคดของโปรแกรมเมอรทจะเขยนชดคาสง เพอใหคอมพวเตอรทางานตามคาสงเหลานน จนบรรลวตถประสงคตามความตองการของผใชโปรแกรม นอกจากนการวเคราะหปญหาและการออกแบบโปรแกรมกอนการลงมอเขยนโปรแกรมจรง ยงชวยลดขอผดพลาดบางประการ และชวยตรวจสอบโปรแกรมในเบองตนกอนได

เดวด ไอ ชไนเดอร (David I. Schneider, 1999 : 12) ไดใหขนตอนในการโปรแกรมตามวงจรการพฒนาโปรแกรม (Program Development Cycle) ทงหมด 6 ขนตอนดงน

1. วเคราะหปญหาประกอบดวยการวเคราะหผลลพธ (Output) และ ขอมลเขา (Input)

2. ออกแบบวธการแกปญหา ประกอบไปดวย การออกแบบอลกอรธม ผงงาน (Flow Chart)

รหสเทยม (Pseudo Code)

3. เลอกสวนตดตอกบผใช หรอการออกแบบหนาจอ

4. เขยนโปรแกรม

5. ทดสอบและแกไขขอผดพลาดของโปรแกรม

6. ทาเอกสารประกอบโปรแกรม

INPUT PROCESS OUTPUT

STORAGE

Page 39: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

14

ดน แซค (Diane Zak, 2012 : 12) ไดใหขนตอนวธในการแกปญหาโปรแกรมไว 7 ขนตอนดงน

1.) วเคราะหปญหา 2.) ออกแบบอลกอรธม 3.) ตรวจสอบอลกอรธม 4.) สรางหนาจอโปรแกรม

5.) เขยนโปรแกรม 6.) ตรวจสอบโปรแกรม 7.) ทดสอบโปรแกรมบนเครองคอมพวเตอร

ในเอกสารประกอบการสอนนผเขยนจะนาเสนอขนตอนการพฒนาโปรแกรมโดยมขนตอนวธดงน

1. การวเคราะหปญหา

2. การออกแบบวธการโปรแกรม ซงประกอบไปดวย

2.1 การออกแบบอลกอรธม หรอ

2.2 การเขยนผงงาน (Flow Chart)

3. ตรวจสอบอลกอรธม

4. การออกแบบและสรางสวนตดตอกบผใช (User Interface) หรอการสรางหนาจอโปรแกรม

5. เขยนโปรแกรม

6. ทดสอบและแกไขขอผดพลาดของโปรแกรม

7. จดทาคมอการใชงานและเอกสารประกอบโปรแกรม

2.1 การวเคราะหปญหา

การพฒนาโปรแกรมจะเรมจากปญหาของงานปจจบนท ไมสามารถทางานไดอยางมประสทธภาพ ขนตอนการทางานซบซอนยงยาก เกดขอผดพลาดไดงาย ขอมลทไดไมทนตอการใชงาน จงตองพฒนาโปรแกรมขนมาเพอแกปญหาดงกลาว

สงสาคญสองอยางททกโปรแกรมตองการรคอ ผลลพธ (Output) และขอมลเขา (Input ) โดยทผลลพธคอเปาหมายของโปรแกรมทตองการ และ ขอมลเขาคอขอมลทปอนเขาไปเพอใหไดมาซงผลลพธนน(Diane Zak, 2014 : 12)

การวเคราะหปญหาเปนขนตอนของการสรางความเขาใจในปญหาไดอยางถองแท และสามารถกาหนดปญหาไดอยางชดเจนแนนอน ซงนาไปสการแกไขปญหาไดถกตอง สาหรบวธการวเคราะหปญหานน จะใชวธการแยกปญหาออกเปน 3 สวน ไดแก ผลลพธ (Output), วธการประมวลผล (Process) และ ขอมลเขา (Input) อยางไรกตาม เมออานโจทยหรออานรายละเอยดของปญหาจบแลว ควรพจารณาวา “สงทโจทยตองการคออะไร”และ “โจทยกาหนดอะไรมาบาง” ดงน

1. ขอมลเขา (Input) พจารณาวาขอมลใดทตองเขาสโปรแกรมเพอใหไดผลลพธตามการ

2. ผลลพธ (Output) สงทโจทยตองการหรอผลลพธคออะไร

Page 40: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

15

3. วธการประมวลผล (Process) มขนตอนการประมวลผลอะไรบางตามลาดบ โดยขนตอนของprocess จะถกนาไปเขยนอลกอรธมในการออกแบบโปรแกรมตอไป(พนดา พานชกล,

2550 : 22)

ในการวเคราะหปญหาและวเคราะหขอมลมแนวทางในการวเคราะหดงน

1. เพอหาวตถประสงคในการพฒนาโปรแกรม

2. เพอหาผลลพธของโปรแกรม (Output)

3. เพอวเคราะหและหาขนตอนวธในการประมวลผลของโปรแกรม (Process)

4. เพอหาขอมลนาเขาทจะนาไปประมวลผลใหไดผลลพธตามทตองการ (Input)

จากการลาดบการวเคราะหขางตนจะเปนเหนวาลาดบการวเคราะหขอมลขอ 2 - 4 จะคลายกบลาดบขนตอนการทางานของคอมพวเตอรซงกคอ Input Process Output แตการวเคราะหขอมลจะทาการวเคราะหหาผลลพธ (Output) กอน เพราะถาไมรวาผลลพธคออะไรกจะไมสามารถพฒนาโปรแกรมไดเลย ลาดบตอมาคอการวเคราะหขนตอนวธในการประมวลผลของโปรแกรมซงเปรยบไดกบสตรการคานวณหรอลาดบการประมวลผลซงในขนตอนนสามารถสลบลาดบการวเคราะหกบการหาขอมลนาเขากได แตถารสตรการคานวณหรอลาดบการประมวลผลจะทาใหหาขอมลนาเขาไดงายกวาสาหรบผเรมเขยนโปรแกรมใหม

ตวอยางท 2.1 พฒนาโปรแกรมเพอคานวณคาลวงเวลาของพนกงานโดยใหคาลวงเวลาของพนกงานชวโมงละ 60 บาท

วตถประสงค : เพอคานวณคาลวงเวลาของพนกงาน

ผลลพธ (Output): คาลวงเวลาของพนกงาน

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

รปท 2.2 แสดงการวเคราะหขอมลของโปรแกรมคานวณคาลวงเวลาพนกงาน

จากตวอยางขางตนการหาผลลพธของโปรแกรมจะทาไดงายทสดโดยดจากโจทยของโปรแกรมหรอวตถประสงคของการพฒนาโปรแกรม การประมวลผลจะตองหาวธคานวณเพอใหไดผลลพธซงจากตวอยางนการหาคาลวงเวลาของพนกงานจะตองนาจานวนชวโมงททางานลวงเวลาของพนกงานแลวนามาคณดวย 60 ซงกคอคาตอบแทนในการทางานตอชวโมง ขอมลเขาคอสงทโปรแกรมยงไมรคา

Page 41: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

16

และสามารถเปลยนแปลงคาไดตลอดเวลาโดยขอมลเขาจะนามาประมวลผลในสตรการคานวณเพอใหไดผลลพธในตวอยางนกคอ จานวนชวโมงททางานลวงเวลา

เมอวเคราะหขอมลไดแลวจะนามาลาดบใหมตามขนตอนการทางานของคอมพวเตอรคอ Input Process Output จะไดดงน

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ผลลพธ (Output): คาลวงเวลาของพนกงาน

รปท 2.3 แสดงการปรบลาดบการวเคราะหขอมล

ซงกเปรยบไดกบขนตอนทางคอมพวเตอรหรอทเรยกวาอลกอรธม (Algorithm) ซงจะอธบายตอไปในภายหลง

ตวอยางท 2.2 พฒนาโปรแกรมเพอคานวณหาเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

จากโจทยขางตนสงทตองวเคราะหเพมเตมคอการประมวลผล จะเหนไดวาการหาเงนเดอนคงเหลอประจาเดอนของพนกงานไดนนตองนาเงนเดอนมาหกเงนประกนสงคมกอน แตในโจทยไมไดบอกวาเงนประกนสงคมเปนเทาใดเนองจากเงนเดอนของพนกงานแตละคนไมเทากน ฉะนนเราตองทาการคานวณหาเงนประกนสงคมใหไดกอนแลวจงนามาหกออกจากเงนเดอน

วตถประสงค : เพอคานวณเงนเดอนคงเหลอประจาเดอนของพนกงาน

ผลลพธ (Output): เงนเดอนคงเหลอ

การประมวลผล(Process): แบบท 1

1. เงนประกนสงคม = เงนเดอนประจา X (5/100)

2. เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม หรอแบบท 2

เงนเดอนคงเหลอ = เงนเดอนประจา – (เงนเดอนประจา X (5/100))

ขอมลเขา (Input): เงนเดอนประจา

รปท 2.4 แสดงการวเคราะหขอมลของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอนของพนกงาน

Page 42: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

17

จากตวอยางขางตนจะเหนวาวธการประมวลผลสามารถคดได 2 แบบ อยทผพฒนาโปรแกรมจะเลอกใชแบบใด สงทนาสงเกตคอขอมลเขาซงมอย 1 ตวคอ เงนเดอนประจา ถาดจากตวอยางการประมวลผลแบบท 1 เงนประสงคม ไมถอวาเปนขอมลเขาเพราะสามารถคานวณไดจากเงนเดอนประจา สาหรบขอแตกตางของการประมวลผลทง 2 แบบ คอ แบบท 1 โปรแกรมสามารถแสดงผลลพธไดทง เงนประกนสงคม และ เงนเดอนคงเหลอ สวนแบบท 2 สามารถแสดงไดเฉพาะเงนเดอนคงเหลอเทานน

2.2 การออกแบบวธการโปรแกรม

การออกแบบโปรแกรมคอมพวเตอรแบงวธการออกเปน 2 สวนคอ

2.2.1 การออกแบบอลกอรธม

อลกอรธม (Algorithm) หมายถง ลาดบข นตอนของชดคาสงท ถกวางแผนไวเพ อสงใหคอมพวเตอรทางานใดงานหนงจนไดผลลพธทตองการ เชน งานคานวณภาษเงนได งานคานวณเกรดเฉลย งานคานวณเงนเดอน หรองานลาดบขอมลจากนอยไปหามาก เปนตน ดงนน จงนบวาอลกอรธมเปนสวนหนงในของการประมวลผลทไดวเคราะหไวในขนตอนการวเคราะหปญหา (พนดา พานชกล,

2550 : 23)

กอนทจะลงมอเขยนซอฟตแวรเพอแกปญหาหนง ๆ ได ตองเรมจากการแบงขนตอนการแกปญหาออกเปนแบบทละขนตอน อลกอรธมไมไดขนอยกบภาษาโปรแกรมใด ๆ จะใชการบรรยายขอความแบบภาษาพดของเราเองกยอมไดหรอจะเลอกเขยนเปนแผนผง หรอใชวธการใด ๆ กไดเพอใหเหนปญหาไดอยางชดเจน อลกอรธมจะเปนขนตอนการเปลยนขอมลเขาใหเปนผลลพธของโปรแกรม อลกอรธมสวนใหญจะเรมตนดวยการคาสงปอนขอมลเขาลงในโปรแกรมคอมพวเตอร แลวประมวลขอมลนน ๆ ดวยคาสงการประมวลผลซงอาจมมากกวา 1 คาสงกได และขนตอนสดทายของอลกอรธมคอการแสดงผลลพธทางหนาจอโปรแกรม (Diane Zak, 2012 : 14)

2.2.1.1 คณสมบตของอลกอรธม

1. อลกอรธมเปนกระบวนการทสรางขนจากกฎเกณฑ เนองจากอลกอรธมเปนรปแบบ

หนงของการแกปญหา และกระบวนการคอกลมของขนตอนทอยรวมกนเพอใช

แกปญหาตาง ๆ เพอใหไดซงผลรบ

2. กฏเกณฑทนามาสรางเปนอลกอรธม ตองไมคลมเครอ มระบบ ระเบยบอานแลวไม สบสน ควรหลกเลยงคาทกอใหเกดความเขาใจไดหลายความหมาย

3. การประมวลผลตองเปนลาดบขนตอนทชดเจน

4. กระบวนการตองใหผลลพธตามทกาหนดในปญหา

5. อลกอรธมตองมจดสนสด (ฝายตาราวชาการคอมพวเตอร, 2554 : หนา 29 -30)

Page 43: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

18

2.2.1.2 ประสทธภาพของอลกอรธม การออกแบบอลกอรธมเพอแกปญหาของแตละคน อาจออกแบบแตกตางกนได ขนอยกบหลกการคด เงอนไข และขอจากดตาง ๆ ควรพจารณาถงประสทธภาพของอลกอรธมทดจากเกณฑพนฐานคอ ตองใชเวลานอยทสด, ใชหนวยความจานอยทสด, มความยดหยน,ใชเวลาในการพฒนานอยทสด,

งายตอความขาใจ (ฝายตาราวชาการคอมพวเตอร, 2554 : 30 –31)

ดงนนอลกอรธม คอ ขนตอนวธหรอลาดบขนตอนในการแกปญหาใดปญหาหนง โดยเรมจากการแบงขนตอนการแกปญหาออกเปนแบบทละขนตอน ซงตองใชหลกการคดอยางมเหตผลในการอธบายวธการในการพฒนาโปรแกรมนน ๆ โดยสวนใหญการออกแบบอลกอรธมจะเขยนเปนขอ ๆ ตามลาดบกอนหลงอลกอรธมสวนใหญจะเรมตนดวยการคาสงปอนขอมลเขาลงในโปรแกรมคอมพวเตอร แลวประมวลขอมลนน ๆ ดวยคาสงการประมวลผลซงอาจมมากกวา 1 คาสงกได และขนตอนสดทายของอลกอรธมคอการแสดงผลลพธทางหนาจอโปรแกรม การออกแบบอลกอรธมจะตองคานงถงคณสมบตของและประสทธภาพของอลกอรธม การโดยการเขยนอลกอรธมสามารถเขยนได 2 แบบคอ เขยนเปนแบบขอความ และ เขยนผงงาน (FlowChart)

ตวอยางท 2.3 พฒนาโปรแกรมเพอคานวณคาลวงเวลาของพนกงานโดยใหคาลวงเวลาของพนกงานชวโมงละ 60 บาท

รปท 2.5 แสดงอลกอรธมของโปรแกรมคานวณคาลวงเวลาของพนกงาน

ผลลพธ (Output): คาลวงเวลาของพนกงาน

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

Algorithm :

1. ปอนจานวนชวโมงททางานลวงเวลา

2. คานวณหาคาลวงเวลาของพนกงาน จาก จานวนชวโมงททางานลวงเวลา x 60

3. แสดงคาลวงเวลาของพนกงาน

Page 44: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

19

ตวอยางท 2.4 พฒนาโปรแกรมเพอคานวณหาเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

รปท 2.6 แสดงอลกอรธมของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

2.2.2 การเขยนผงงาน (Flow Chart)

ผงงานคอ แผนภาพทแสดงลาดบขนตอนการทางานของโปรแกรมตงแตจดเรมตนจนถงจดสนสด ดวยการนาเสนอผานสญลกษณมาตรฐานเพอใหสอความหมายเขาใจตรงกน (ฝายตาราวชาการคอมพวเตอร, 2554 : 87) สญลกษณตาง ๆ ทนามาใชในผงงานมความหมายตามขอกาหนดตามขอกาหนดมาตรฐานของ ANSI (American National Standards Institute) (พนดา พานชกล, 2551: 29)

การใชสญลกษณในลกษณะของรปภาพทาใหสามารถเหนลาดบขนตอนวธการทางานไดชดเจนกวาการอธบายขนตอนวธการทางานในลกษณะของขอความ

2.2.2.1 ประเภทของผงงาน

1. ผงงานระบบ (System Flowchart) เปนผงงานแสดงขนตอนการทางานทงหมดในผงงานประเภทนจะเหนระบบงานภายในของระบบหนง ๆทเกยวของกบงานทงหมด ทงวสด เครองจกร โปรแกรม และบคลากรจดมงหมายของการใชผงงานระบบ เพอใหทราบถงความสมพนธของระบบทงหมดหรอภาพรวมของระบบทงหมดตงแตเรมตนจนสดทายวาม ขนตอนอะไรบางแตละขนตอนทาอยางไร ใชวธการอะไรบางผงงานระบบนเหมาะสาหรบผบรหาร ผวเคราะหระบบและผเขยนโปรแกรมแตผงงานระบบนยงไมสามารถนาไปใชในการเขยนโปรแกรมได ลกษณะของผงงานระบบคอ

ผลลพธ (Output): เงนเดอนคงเหลอ

การประมวลผล(Process): เงนประกนสงคม = เงนเดอนประจา X (5/100)

เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม ขอมลเขา (Input): เงนเดอนประจา

Algorithm :

1. ปอนเงนเดอนประจา

2. คานวณหาเงนประกนสงคมจาก เงนเดอนประจา x (5/100)

3. คานวณหาเงนคงเหลอจาก เงนเดอนประจา – เงนประกนสงคม 4. แสดงเงนเดอนคงเหลอ

Page 45: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

20

• แสดงขอบเขตของระบบทงหมด

• แสดงขอมลเขาถกเกบอยทใดบาง ใชสอบนทกขอมลแบบใด

• ประมวลผลและแสดงผลลพธทใด

2. ผงงานโปรแกรม (Program Flowchart) หรอทนยมเรยกกนสน ๆ วา

Flowchart ผงงานประเภทนเปนผงงานซงแสดงลาดบขนตอนการทางานอยางละเอยดของโปรแกรม โดยจะแสดงรายละเอยดของขนตอนการทางานอยางชดเจนไมวาจะเปนขนตอนของการรบขอมลเขา การคานวณ การประมวลผลและการแสดงผลลพธ

2.2.2.2 วธการเขยนผงงานทด • ทกผงงานตองมจดเรมตนและจดสนสดเพยงอยางละหนงแหงเทานน

• ทกแผนภาพตองมลกศรแสดงทศทางเขาออก

• ใชสญลกษณตามทกาหนดไว

• สญลกษณจดเรมตนมเฉพาะลกศรชทศทางออก

• สญลกษณจดสนสดมเฉพาะลกศรชทศทางเขา

• สญลกษณการตดสนใจมลกศรชเขา 1 ทศทาง และชออก 2 ทศทาง คอ กรณทผลทได จากการตดสนใจเปนจรง หรอ เปนเทจ

• ใชลกศรแสดงทศทางการไหลของขอมลจากบนลงลางหรอซายไปขวา

• คาอธบายในภาพควรสนกะทดรด และเขาใจไดงาย

• ไมควรโยงเสนเชอมผงงานทอยไกลมาก ๆ ควรใชสญลกษณจดเชอมตอแทน

• เสนของลกศรทใชบอกทศทางของลาดบขนตอนวธการทางาน ไมควรเขยนตดกน

หรอทบกน

• ผงงานควรมการทดสอบความถกตองของการทางานกอนนาไปเขยนโปรแกรม

(ฝายตาราวชาการคอมพวเตอร, 2554 : 89)

Page 46: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

21

ผงงานระบบ ผงงานโปรแกรม

รปท 2.7 แสดงผงงานระบบ และ ผงงานโปรแกรม

ทมา : (พนดา พานชกล, 2551 : 30)

2.2.3 สญลกษณของผงงาน

สญลกษณ ความหมาย

Start / Stop ใชแสดงจดเรมตนและจดสนสดของขนตอนการแกปญหาหรอโมดลแตละโมดล โดยจดเรมตนจะมเสนทางออกเพยงอยางเดยว สวนจดสนสดจะมเสนทางขางเพยงอยางเดยว

Process

ใชแสดงการประมวลผล การคานวณ หรอการกาหนดคาขอมลตางๆ

Start

InputPrice, Qyt

Deliver = (Price*Qty)*5%

Netprice = (Price*Qty) - Deliver

Print Netprice

Stop Stop

Receive order

Packaging Product

Calculate Netprice

Deliver product

Start

Page 47: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

22

สญลกษณ ความหมาย

Input/Output media

ใชแสดงการรบหรอแสดงขอมล หรอแสดงผลลพธโดยไมระบชนดของสอ

Manual Input ใชแสดงการรบขอมลโดยตรงจากแปนพมพ

Decisionใชแสดงการเปรยบเทยบ หรอการตดสนใจเลอกเสนทางการทางาน

Document ใชในการแสดงผลลพธหรอแสดงขอมลสงพมพลงบนกระดาษ

Displayใชในการแสดงผลลพธหรอแสดงขอมลทางจอภาพคอมพวเตอร

Preparation ใชในการกาหนดคาเรมตนใหกบการนบรอบสาหรบการทางานแบบวนซ า

Magnetic tapeใชในการจดเกบขอมลลงบนสอประเภทเทปแมเหลก

Flow Lineใชแสกงทศทางของลาดบขนตอนการทางาน

On –Page Reference

ใชแสดงจดเชอมตอของผงงานทอยในหนาเดยวกน

Page 48: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

23

สญลกษณ ความหมาย

Off-Page Referenceใชแสดงจดเชอมตอของผงงานกรณทอยคนละหนา

Predefined Process ใชแสดงแทนการประมวลผลของโมดลหรอโปรแกรมยอย

Annotationใชเขยนคาอธบายไวดานขางของสญลกษณอนๆ ของผงงาน

รปท 2.8 แสดงสญลกษณของผงงาน

ตวอยางท 2.5 เขยนผงงานการคานวณคาลวงเวลาของพนกงานโดยใหคาลวงเวลาของพนกงานชวโมงละ 60 บาท

รปท 2.9 แสดงอลกอรธมของโปรแกรมคานวณคาลวงเวลาของพนกงาน

ผลลพธ (Output): คาลวงเวลาของพนกงาน

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

Algorithm :

1. ปอนจานวนชวโมงททางานลวงเวลา

2. คานวณหาคาลวงเวลาของพนกงาน จาก จานวนชวโมงททางานลวงเวลา x 60

3. แสดงคาลวงเวลาของพนกงาน

Page 49: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

24

รปท 2.10 แสดงผงงานของโปรแกรมคานวณคาลวงเวลาของพนกงาน

ตวอยางท 2.6 เขยนผงงานคานวณหาเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

รปท 2.11 แสดงอลกอรธมของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

เรมตน

จานวนชวโมง

คาลวงเวลา = จานวนชวโมงX 60

คาลวงเวลา

จบการทางาน

ผลลพธ (Output): เงนเดอนคงเหลอ

การประมวลผล(Process): เงนประกนสงคม = เงนเดอนประจา X (5/100)

เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม

ขอมลเขา (Input): เงนเดอนประจา

Algorithm :

1. ปอนเงนเดอนประจา

2. คานวณหาเงนประกนสงคมจาก เงนเดอนประจา x (5/100)

3. คานวณหาเงนคงเหลอจาก เงนเดอนประจา – เงนประกนสงคม

4. แสดงเงนเดอนคงเหลอ

Page 50: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

25

รปท 2.12 แสดงผงงานของโปรแกรมคานวณเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

2.3 ตรวจสอบอลกอรธม

หลงจากทไดวเคราะหขอมลและออกแบบอลกอรธมไปแลว ผเขยนโปรแกรมจะตองตรวจสอบอลกอรธมทไดออกแบบไว ในขนตอนนผเขยนโปรแกรมจะนงตรวจสอบอลกอรธมดวยกระดาษโดยการจาลองขอมลเขาไปแลวดผลลพธวาถกตองหรอไม การตรวจสอบอลกอรธมจะทาเปนลกษณะของตารางเพอตรวจสอบ (Desk Check Table) คาตาง ๆ ทจาลองเขาไป โดยประกอบไปดวยคอลมนทเปนขอมลเขา การประมวลผล และ ผลลพธ

เรมตน

เงนเดอนประจา

เงนประกนสงคม= เงนเดอนประจา*(5/100)

เงนคงเหลอ= เงนเดอนประจา – เงนประกนสงคม

เงนคงเหลอ

จบการทางาน

Page 51: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

26

รปท 2.13 แสดงตารางการตรวจสอบอลกอรธม (Desk-Check the Algorithm) ของการคานวณคาลวงเวลาของพนกงาน

ผลลพธ (Output): คาลวงเวลา

การประมวลผล(Process): คาลวงเวลา = จานวนชวโมง * 60

ขอมลเขา (Input): จานวนชวโมง

Algorithm :

1. ปอนจานวนชวโมงททางานลวงเวลา

2. คานวณหาคาลวงเวลาของพนกงาน จาก จานวนชวโมงททางานลวงเวลา x 60

3. แสดงคาลวงเวลาของพนกงาน

Desk-Check Table

จานวนชวโมง จานวนชวโมง * 60 คาลวงเวลา

1 1 * 60 60

5 5 * 60 300

10 10 * 60 3000

Page 52: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

27

รปท 2.14 แสดงตารางการตรวจสอบอลกอรธม (Desk-Check the Algorithm) ของการคานวณคาลวงเวลาของพนกงาน

ผลลพธ (Output): เงนเดอนคงเหลอ

การประมวลผล(Process): เงนประกนสงคม = เงนเดอนประจา X (5/100)

เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม ขอมลเขา (Input): เงนเดอนประจา

Algorithm :

1. ปอนเงนเดอนประจา

2. คานวณหาเงนประกนสงคมจาก เงนเดอนประจา x (5/100)

3. คานวณหาเงนคงเหลอจาก เงนเดอนประจา – เงนประกนสงคม 4. แสดงเงนเดอนคงเหลอ

Desk-Check Table

เงนเดอนประจา เงนเดอนประจา x (5/100)

เงนเดอนประจา – เงนประกนสงคม ประกนสงคม

เงนเดอนคงเหลอ

100 100 * (5/100)

100 - 5

5

95

500 500 * (5/100)

500 -25

25

475

15,000 15,000 * (5/100)

15,000 - 750

750

14,250

Page 53: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

28

สรป

ขนตอนการพฒนาโปรแกรมโดยม 7 ขนตอนคอ

1. การวเคราะหปญหา

2. การออกแบบวธการโปรแกรม ซงประกอบไปดวย

2.1 การออกแบบอลกอรธม หรอ

2.2 การเขยนผงงาน (Flow Chart)

3. ตรวจสอบอลกอรธม

4. การออกแบบและสรางสวนตดตอกบผใช (User Interface) หรอการสรางหนาจอโปรแกรม

5. เขยนโปรแกรม

6. ทดสอบและแกไขขอผดพลาดของโปรแกรม

7. จดทาคมอการใชงานและเอกสารประกอบโปรแกรม

การวเคราะหปญหาและวเคราะหขอมล จะตองวเคราะหเพอหา ผลลพธ การประมวลผล และขอมลเขา

การออกแบบโปรแกรมคอมพวเตอรแบงวธการออกเปน 2 สวนคอ 1.การออกแบบอลกอรธม

คอ การออกแบบลาดบขนตอนของชดคาสงทถกวางแผนไวเพอสงใหคอมพวเตอรทางานใดงานหนงจนไดผลลพธทตองการ 2.การเขยนผงงานเพอแสดงลาดบขนตอนการทางานของโปรแกรมตงแตจดเรมตนจนถงจดสนสด ดวยการนาเสนอผานสญลกษณมาตรฐานเพอใหสอความหมายเขาใจตรงกน

การตรวจสอบอลกอรธม (DeskCheck Algorithm) หลงจากทไดวเคราะหขอมลและออกแบบอลกอรธมไปแลว ผเขยนโปรแกรมจะตองตรวจสอบอลกอรธมทไดออกแบบไว ในขนตอนนผเขยนโปรแกรมจะนงตรวจสอบอลกอรธมดวยกระดาษโดยการจาลองขอมลเขาไปแลวดผลลพธวาถกตองหรอไม

แบบฝกหดทายบท

ตองการพฒนาโปรแกรมคานวณคาผอนรถมอเตอรไซดตอเดอนโดยคดดอกเบยรอยละ 3 ของราคารถและใหระยะเวลาในการผอน 1 ป 1.ใหวเคราะหผลลพธ การประมวลผล และขอมลเขาของโปรแกรม

2. ใหเขยนอลกอรธมของโปรแกรม

3. เขยนผงงานของโปรแกรม

Page 54: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

29

เอกสารอางอง

พนดา พานชกล. (2551). การเขยนโปรแกรมคอมพวเตอรเบองตนดวยภาษา JAVA. กรงเทพฯ : เคพท คอมพ แอนด คอนซลท.

ฝายตาราวชาการคอมพวเตอร. (2554). หลกการเขยนโปรแกรม. กรงเทพฯ : ซเอดยเคชน.

David I. Schneider. (1999). Computer Programming Concepts and Visual Basic. New Jersey :

PEARSON CUSTOM PUBLISHING.

Diane Zak. (2012). Clearly Visual Basic Programming With Microsoft Visual Basic 2010. MA :

Course Technology.

Page 55: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 3

หวขอเนอหาประจาบท 3.1 การเรยกใชงาน Microsoft Visual Studio 2012

3.2 การตงคาภาษาและสภาพแวดลอมเรมตนของ Visual Studio 2012

3.3 การใชงาน Microsoft Visual Basic 2012 เบองตน

3.4 ออบเจกต (Object)

3.5 การใชงาน Code Editor

3.6 การบนทกโพรเจกต

3.7 ไฟลประเภทตางๆในโพรเจกตของ Visual Basic 2012

วตถประสงคเชงพฤตกรรม 1. เพอใหผเรยนสามารถใชงานโปรแกรม Microsoft Visual Studio 2012 ได

2. มความเขาใจและอธบายออบเจกตได

วธการสอนและกจกรรมการเรยนการสอนประจาบท

1. บรรยายเนอหาในแตละหวขอ พรอมยกตวอยางประกอบ

2. ศกษาจากเอกสารประกอบการสอน

3. ผสอนสรปเนอหา

4. ผเรยนถามขอสงสย

5. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน

1. เอกสารประกอบการสอน

2. ภาพเลอน (Slide)

การวดและประเมนผล 1. สงเกตการณเขาชนเรยนและความสนใจขณะบรรยาย

2. มสวนรวมในการซกถามระหวางการบรรยาย

3. การตอบคาถามขณะทผสอนบรรยาย

4. การตรวจแบบฝกหด

Page 56: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 3 การใชงาน Visual Basic 2012 เบองตน

Microsoft Visual Studio 2012 คอ Integrated Development Environment (IDE) เปนโปรแกรมประยกตซอฟตแวร ทใชสาหรบพฒนาโปรแกรมและยงอานวยความสะดวกใหแกผเขยนโปรแกรมคอมพวเตอรในการพฒนาซอฟตแวรประเภทตาง ๆ พฒนาขนโดยบรษทไมโครซอฟท Microsoft

Visual Studio 2012 จะมภาษาใหเลอกพฒนาโปรแกรมแลวแตความถนดของผพฒนาโปรแกรมหนงในนนกคอ Visual Basic

Visual Basic เปนภาษาโปรแกรมทสามารถสรางโปรแกรมประยกตไดทงในแบบ Web-Base

Application และ Stand-alone enterprise applications โดยท Web-Base Application จะทางานบน Web

Servers โดยท Web Server จะใหสงโปรแกรมเมอมรองขอจากผใชงานมาใหทเครองคอมพวเตอรของผใชงานโดยโปรแกรมประเภทนจะตองมเบราวเซอรเปนตวชวยในการแสดงผล สวน Stand-alone

enterprise applications จะเปนการพฒนาโปรแกรมทสามารถทางานบนระบบปฏบตการในเครองคอมพวเตอรไดเลย เรยกอกอยางหนงวา Windows-based โปรแกรมประเภท Windows-based เปนทนยมใชในงานธรกจขององคกรตาง ๆ (Smith, Jo Ann, 2011 : 2)

3.1 การเรยกใชงาน Microsoft Visual Studio 2012

การเขยนโปรแกรมดวย Visual Basic 2012 หรอ VB 2012 จะอาศยเครองมอ Visual Studio

2012 ซงสามารถเรยกใชงานไดโดยคลก Start › All Programs › Microsoft Visual Studio 2012 › Visual

Studio 2012

รปท 3.1 แสดงการเรยกใชงาน Microsoft Visual Studio 2012

Page 57: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

32

3.2 การตงคาภาษาและสภาพแวดลอมเรมตนของ Visual Studio 2012

เมอมการเปดใชงาน Visual Studio 2012 ครงแรก จะมหนาจอ Default Environment Setting

ขนมาเพอใหกาหนดภาษาทตองการใชในการพฒนาโปรแกรม ซงหมายถงวาเมอใดทเปด Visual Studio

2012 โปรแกรมจะกาหนดภาษาและเครองมอในการพฒนาโปรแกรมภาษานนให แตถาผเขยนโปรแกรมตองการทจะพฒนาโปรแกรมโดยใชภาษาอน ๆ ทมอยใน Visual Studio 2012 กสามารถเปลยนภาษาไดภายหลง ภาษาทมใน Visual Studio 2012 มดงน

เอฟชารป (F# Programming Language) คอ เปนภาษาประเภท functional จดอยในกลมของภาษาประเภท ML โดย F# จะมความใกลเคยงกบ OCaml และมการผสมผสานกบ C# และ Haskell นอกจากนน F# ยงไดถกออกแบบใหสามารถทางานรวมกนกนภาษาอน ๆ ในททางานบน .NET Framework ไดเปนอยางด

ภาษาซชารป (C# Programming Language) เปนภาษาโปรแกรมเชงวตถทางานบนดอตเนตเฟรมเวรก โดยมรากฐานมาจากภาษาซพลสพลส (C++) และภาษาอนๆ (โดยเฉพาะภาษาเดลไฟและจาวา) โดยปจจบนภาษาซซารปเปนภาษามาตรฐานรองรบโดย ECMA และ ISO

ภาษาซพลสพลส (C++) เปนภาษาโปรแกรมคอมพวเตอรอเนกประสงค มโครงสรางภาษาทมการจดชนดขอมลแบบสแตตก และสนบสนนรปแบบการเขยนโปรแกรมทหลากหลาย ไดแก การโปรแกรมเชงกระบวนคาสง, การนยามขอมล, การโปรแกรมเชงวตถ, และการโปรแกรมแบบเจเนรก (generic programming) ภาษาซพลสพลสเปนภาษาโปรแกรมเชงพาณชยทนยมมากภาษาหนงนบตงแตชวงทศวรรษ 1990

ภาษาวชวลเบสก (Visual Basic) หรอ VB เปนหนงในภาษาโปรแกรมทนยมใชพฒนาโปรแกรมทใชในดานธรกจ วชวลเบสกพฒนามาจากภาษาเบสก และยงไดพฒนาตอเปนภาษาVB.NET อกดวย วชวลเบสกสนบสนน Rapid Application Development (RAD) ทงดานการพฒนาโปรแกรมประยกตแบบ graphical user interface (GUI) , การเขาถงฐานขอมลโดยใชการเชอมตอแบบ DAO, RDO, หรอ ADO, และการสราง ActiveX control จดเดนอกอยางหนงของวชวลเบสกคอนกเขยนโปรแกรมสามารถนาโปรแกรมประยกตหลาย ๆ โปรแกรมมารวมกนในโปรแกรมเดยว และยงสามารถประยกตใชคอนโทรลและคอมโพเนนตทวชวลเบสกเตรยมไวใหแลวไดอกดวย

ในเอกสารประกอบการสอนนจะใชภาษา Visual Basic 2012 หรอเรยกวา VB 2012 หรอ VB.Net กได

เปนเครองมอในการพฒนาโปรแกรม ดงนนใหเลอก Visual Basic Development Setting

Page 58: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

33

รปท 3.2 แสดงการเลอกภาษา Visual Basic เปนภาษาเรมตนเมอเปด Visual Studio 2012

รปท 3.3 แสดงหนาจอเรมตนของ Visual Studio 2012

3.3 การใชงาน Microsoft Visual Basic 2012 เบองตน

3.3.1 การสรางโพรเจกตใหม

ใน VB 2012 จะมประเภทของโพรเจกตหรอโปรแกรมใหเลอกสาหรบพฒนาโปรแกรมไดหลายประเภทเชน โปรแกรมทท างานบนอปกรณเคลอนท , โปรแกรมทท างานบนเบราวเซอร,

โปรแกรมททางานบนเครองคอมพวเตอรสวนบคคล โดยประเภทโพรเจกตท VB 2012 เตรยมไวใหผพฒนาโปรแกรมไดเลอกใช มดงตารางท 3.1

Page 59: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

34

ตารางท 3.1แสดงประเภทโพรเจกตและคาอธบายของโพรเจกตตาง ๆ

ประเภทโพรเจกต คาอธบาย

Windows Forms โปรแกรมท ท างานบนเครองคอมพวเตอรสวนบคคล โดยทางานผานระบบปฏบตการสามารถทางานไดดวยตวเอง อาจจะมหนาจอเดยวหรอหลายหนาจอเพอใหผใชเรยกใชงานกได

ASP.NET Web

Forms

โปรแกรมททางานบนเครองบรการเวบ (Web Server) ประกอบไปดวยหนาเวบ (Web forms) หนงหรอมากกวากได โดยทหนาเวบน นตองทางานผานเบราวเซอรทอยบนเครองคอมพวเตอรของผใชงาน

WPF โปรแกรมททางานบนเครองคอมพวเตอรสวนบคคล โดยเนนลกษณะโปรแกรมทเนนความตนตาตนใจของผใชงาน

Silverlight โปรแกรมททางานบนเบราวเซอรบนเครองคอมพวเตอร โดยเนนลกษณะโปรแกรมทเนนความตนตาตนใจของผใชงาน

Windows Store โปรแกรมททางานบนแทบเลตพซของระบบปฏบตการ Windows 8 หรอ Windows RT

Windows Phone 8 โปรแกรมทท างานบนโทรศพทเคล อนท ท ท างานดวยระบบปฏบตการ Windows Phone 8

ในเอกสารประกอบการสอนน จะนาเสนอการพฒนาโปรแกรมดวยโพรเจกตชนด Windows Forms

(สามารถเรยกวา Windows Forms Application กได) ซงโพรเจกตชนดนแสดงการทางานและตดตอกบผใชงานโปรแกรมผานหนาจอทเรยกวา ฟอรม การสรางโพรเจกตชนด Windows Forms ทาไดดงน

1. คลกเลอก New Project จะปรากฏหนาจอสรางโพรเจกตใหม หรอคลกทเมน File ทเมนบาร

2. เลอกประเภทของโพรเจกตชนด Windows Form Application

3. ชอง Name ใหใสชอโพรเจกต

4. คลกปม OK

Page 60: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

35

รปท 3.4 แสดงหนาจอการสรางโพรเจกตใหม

3.3.2 IDE ของ Visual Basic 2012

IDE (Integrated Development Environment) ประกอบไปดวยเครองมอตางๆ ทชวยอานวยความสะดวกในการพฒนาโปรแกรม เชน การจดการไฟลในโพรเจกต, การออกแบบหนาจอ (form

designer), อดเตอร (editor), คอมไพเลอร (complier), ดบกเกอร (debugger), การตรวจสอบความถกตองของโปรแกรม การแสดงผลจากการรนโปรแกรม เปนตน

3.3.2.1 สวนประกอบของ IDE ใน Visual Basic 2012 จะประกอบไปดวยเมนบาร (menu bar), ทลบาร (toolbar) และวนโดว (window) ยอยๆทสาคญ ดงตอไปน

รปท 3.5 แสดงสวนประกอบของ IDE ใน Visual Studio 2012

Properties

Window

Menu Bar Tool Bar

Tool Box

Solution Explorer

Form Designer

Page 61: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

36

1. แถบเมน (Menu Bar) และแถบเครองมอ (Tool Bar)

แถบเมนใน Visual Basic 2012 ประกอบดวยคาสงทใชสาหรบการสรางรหสซอฟตแวร รวมถงการเรยกใชเครองมออน ๆ ของ IDE คาสงเหลานจะปรากฏเปนเมนและเมนยอย แถบเมนยงรวมถงแถบเครองมอทแสดงคาสงทใชกนทวไปเปนปมเพอใหงายตอการใชงาน

รปท 3.6 แสดงแถบเมนและแถบเครองมอ

ตารางท 3.2 แสดงปมคาสงและคาอธบายในแถบเครองมอ

ปมคาสง คาอธบาย คยลด

ยอนกลบไปการทางานกอนหนา Ctrl + Shift + F2

ยอนกลบไปการทางานกอนหนา Ctrl + Shift + -

สรางโพรเจกตใหม Ctrl + N

เปดไฟล ไมม

บนทกฟอรมทกาลงทางานอย Ctrl + S

บนทกโพรเจกตทงหมด Ctrl + Shift + S

ใสเครองหมายสรางคาอธบาย Ctrl + K › Ctrl + C

ยกเลกการใสเครองหมายสรางคาอธบาย Ctrl + K › Ctrl + U

ยกเลกการทางานลาสด (Undo) Ctrl + Z

ทาซ าการทางานลาสดทเพงทาไป (Redo) Shift + Alt + Bkspec

ใหโปรแกรมทางานเพอตรวจสอบความผดพลาด F5

หยดการทางานของโปรแกรมชวคราว Ctrl + Break

เลกการตรวจสอบความผดพลาดของโปรแกรม Ctrl + Alt + Break

สงใหทางานทละคาสงเพอตรวจสอบผล F8

สงใหตรวจสอบคาสงโดยมองวาโปรแกรมยอยเปนคาสงเดยว ไมสนใจคาสงขางใน

Shift + F8

คนหาและแทนท Ctrl + Shift + F

Page 62: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

37

2. Solution Explorer เปนสวนทแสดงไฟลตาง ๆ ทเกยวอยในโพรเจกต เชน ฟอรม โมดล คลาส และไฟลอนๆทเกยวของ Solution Explorer จะใชจดการกบโพรเจกต เหลานไดครงละหลายๆโพรเจกต พรอมกน

3. Properties Window เปนสวนทใชสาหรบแสดงและกาหนดคณสมบตของออบเจกตตาง ๆ ทใชในการสรางโปรแกรม

4. Toolbox เปนแทบแสดงเครองมอหรอ “คอนโทรล” (Control) ซงคอนโทรลบางชนดกใชออกแบบหนาจอสาหรบตดตอกบผใชงาน เชน กลองขอความ (TextBox) คอนโทรลบางชนดกใชทาการเบองหลงทไมปรากฏใหเหนบนหนาจอขณะทางาน เชนไทมเมอร (Timer) รวมถงคอมโพเนนต (component) อนๆดวย

Solution Explorer Properties Window Toolbox

รปท 3.7 แสดงสวนประกอบตาง ๆ ของ IDEโปรแกรม Microsoft Visual studio 2012

3.3.2.2 การปด เปด และซอนสวนประกอบตาง ๆ ของ IDE

สวนประกอบตาง ๆ ใน IDE เชน Solution Explorer, Properties Window หรอ Toolbox มไวเพอใหผเขยนโปรแกรมทางานไดงายและสะดวก แตในบางครงผเขยนโปรแกรมตองการปดการใชงานไวกอนกสามารถทาไดโดยการคลกทปมปด บนไตเตลบารของหนาตางนน ๆ และเมอตองการเรยกกลบมาใชใหมสามารถทาไดโดยคลกทเมน View บนเมนบารและเลอกชอสวนประกอบนน ๆ เพอแสดง

Page 63: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

38

รปท 3.8 แสดงการเรยกใชงาน Properties Windows

3.4 ออบเจกต (Object)

การสรางโปรแกรมบนระบบปฏบตการวนโดวจะใชออบเจกตตาง ๆ ในการสรางหนาจอหรอสวนตดตอกบผใช(User interface) และเขยนโปรแกรมควบคมการทางานของออบเจกตตาง ๆ เพอตอบโตกบผใชงานโปรแกรมนน ๆ โดยออบเจกตทใชสาหรบสรางโปรแกรมใน Visual studio 2012 นนแบงไดเปน 2 ประเภทดงน

1. คอนโทรล (Control) การสรางออบเจกตชนดคอนโทรลบนฟอรมจะทาไดโดยการเลอกคอนโทรลทตองการในกลองเครองแลวนามาลากวาง จดตาแหนงของคอนโทรลและกาหนดคณสมบตของคอนโทรลนน ๆ ตวอยางของคอนโทรลเชน ปมคาสง (Button), กลองขอความ (TextBox)

2. คอมโพเนนต (component) กลมของออบเจกตทมองคประกอบคลายกบคอนโทรลแตจะไมปรากฏใหเหนบนหนาจอของโปรแกรมเมอขณะทางาน (เรยกวาชวง run time)

ใน Toolbox จะมการแบงแยกประเภทของคอนโทรลและคอมโพเนนตเอาไวดงรป

Page 64: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

39

คอนโทรล คอมโพเนนต

รปท 3.8 แสดงออบเจกตประเภทคอนโทรลและคอมโพเนนตใน Toolbox

3.4.1 คณสมบตของออบเจกต (Properties)

ออบเจกตชนดตาง ๆ จะมคณสมบตหรอลกษณะตาง ๆ ของแตละออบเจกตซงสามารถกาหนดไดจาก Properties Windows สามารถกาหนดไดทงในชวงการออกแบบและในขณะทโปรแกรมทางานกไดโดยการเขยนคาสงไว ตวอยางของคณสมบตของออบเจกต เชน

ตารางท 3.3 แสดงตวอยางคณสมบตของออบเจกต

คณสมบต คาอธบาย

Name กาหนดชอของออบเจกต

Text แสดงขอความ

BackColor กาหนดสของออบเจกต

ForeColor กาหนดสตวอกษร

Font กาหนดรปแบบและขนาดของตวอกษร

Enable การกาหนดใหใชงานได มสองคาคอ True และ False

Visible การกาหนดใหแสดงออบเจกตใหผใชเหนหรอไมในขณะรนโปรแกรมมสองคาคอ True และ False

Page 65: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

40

รปท 3.9 แสดงการกาหนดคณสมบตของออบเจกตผานทาง Properties Windows

รปท 3.10 แสดงการกาหนดคณสมบตของออบเจกตโดยการเขยนคาสง

3.4.2 วธการของออบเจกต (Method)

เมธอดคอสวนหนงของคาสงทมอยในออบเจกต เพอสงใหออบเจกตกระทาอะไรบางสง เชน วธการลางขอความในกลองขอความดวยเมธอด Clear

รปท 3.11แสดงการใชเมธอดของคอนโทรล

ในสวนของหนาตางการเขยนโปรแกรม (Code Editor) Visual Basic 2012 ไดแสดงสญลกษณทบงบอกวาเปนคณลกษณะของออบเจกตหรอเปนเมธอดของออบเจกต โดยสามารถสงเกตไดจากไอคอนทแสดงอยหนาคาสงนน ๆ

Page 66: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

41

สญลกษณของคณลกษณะ (Properties) สญลกษณของวธการ (Method)

รปท 3.12 แสดงการเปรยบเทยบสญลกษณของคณลกษณะและวธการของออบเจกต

3.4.3 เหตการณทเกดขนกบออบเจกต (Event)

การเขยนโปรแกรมบน Visual Basic 2012 เปนการเขยนโปรแกรมแบบ Event-Driven กลาวคอ คาสงทเขยนจะทางานกตอเมอมเหตการณเกดขน เชน ปม จะไมถกเรยกใชงานจนกวาจะมการคลกเมาสทปม

รปท 3.13 แสดงการเขยนคาสงในโปรแกรม

จากรปท 3.13 จะมชอของเหตการณ ตามหลงชอออบเจกตและเครองหมาย _ เชน Button1_Click จะเปนอเวนต Click ของ Button1 ดงนนคาสงนจะทางานตอเมอมการคลกเมาสทปมทชอ Button1

รปท 3.14 แสดงการทางานของโปรแกรมแบบ Event – Driven จะมกลองขอความขนเมอมการคลกเมาสทปม

Page 67: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

42

การเขยนโปรแกรมกบเหตการณของออบเจกตแตละตวนน Visual Basic 2012 จะกาหนดเหตการณทเปนคาตงตนให แตผเขยนโปรแกรมสามารถเลอกเหตการณอน ๆ ของออบเจกตทตองการได เรยกวา Event Handler

รปท 3.15 แสดงการเลอกเหตการณอน ๆ ของออบเจกตเพอเขยนคาสง

3.5 การใชงาน Code Editor

Code Editor เปนสวนทใชสาหรบเขยนคาสงโปรแกรม การเรยกใชงานทาได 2 วธคอ

1. การเปด Code Editor ดวยการดบเบลคลกทออบเจกต เชนถาตองการเขยนคาสงทปมคาสงทชอ Button1 กใหดบเบลคลกทออบเจกตนจะปรากฏหนาจอ Code Editor ขนมาเพอเขยนคาสง

รปท 3.16 แสดงการเปด Code Editor ดวยการดบเบลคลกทออบเจกต

ดบเบลคลกทออบเจกต ปรากฏหนาจอ Code Editor

Page 68: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

43

2. การเปด Code Editor ดวยการเรยกใชจาก Solution Explorer

1. คลกท View Code

2. ปรากฏหนาจอ Code Editor เลอกออบเจกตทตองการ

3. เลอกเหตการณของออบเจกต

4. หนาจอ Code Editor สาหรบเขยนคาสง

รปท 3.17 แสดงการเปด Code Editor ดวยการเรยกใชจาก Solution Explorer

3.5.1 ความสามารถของ Code Editor

Code Editor มความสามารถทชวยใหเขยนโปรแกรมไดงายขนดงน

1. Auto Correct ชวยตรวจสอบความถกตองของคาสงใหโดยอตโนมตทนท โดยไมตองรอใหคอมไพลหรอรนโปรแกรมกอน เมอพบคาสงทผดพลาด Code Editor จะทาการเนนทคาสงและเมอผเขยนโปรแกรมนาเมาสไปวางเหนอคาสงทเนน Code Editor จะแสดงขอความอธบายสาเหตของการผดพลาดของคาสง

2. IntelliSense ชวยแนะนาการเขยนโปรแกรมใหโดยตลอด ซงจะชวยใหผเขยนโปรแกรมไมตองจดจารายละเอยดของคาสง เชน วธการเรยกใชงานฟงกชนหรอออบเจคตางๆ รวมถงแสดงพรอพเพอรตและเมธอดของออบเจค (เรยกรวมๆวาเมมเบอร)ใหเลอกโดยอตโนมต

Page 69: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

44

Code Editor จะทาการเนนทคาสงทผดพลาด

แสดงขอความอธบายสาเหตของการผดพลาดของคาสง

รปท 3.18 แสดงคณสมบต Auto Correct ของ Code Editor

รปท 3.19 แสดงคณสมบต IntelliSense ของ Code Editor

3.5.2 การตงคาตวหนงสอภาษาไทย

การพมพภาษาไทย VB 2012 จะมความสามารถรองรบอยแลว แตในกรณทตองการเปลยนรปแบบตวหนงสอหรอขนาดของตวหนงสอภาษาไทยสามารถทาไดดงน

1. คลกเลอกทเมน Tools › Options 2. เลอก Fonts and Colors แลวเลอกรปแบบตวหนงสอ

รปท 3.20 แสดงขนตอนการตงคาตวหนงสอใน Code Editor

ชวยแนะนาคาสง แสดงรายละเอยดของรปแบบคาสง

Page 70: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

45

3.5.3 ความหมายของสตวอกษรและการเนน Code Editor

Code editor จะแสดงสของตวอกษรของรปแบบโปรแกรมคาสงแตกตางกน โดยสของตวอกษรจะแสดงความหมายดงตารางท 3.4

ตารางท 3.4 แสดงสและการเนนของคาสงใน Code Editor

ทมา : (ปรบปรงจาก ROD STEPHENS, 2012 : 62)

คาสงโปรแกรม สตวอกษรและการเนน

Comment ตวอกษรสเขยว

Compiler error เสนหยกสนาเงนใตคาสง

Keyword ตวอกษรสนาเงน

Other error เสนหยกสมวงใตคาสง

Preprocessor keyword ตวอกษรสนาเงน

Read-only region พนหลงสเทาออน

User-defined types ตวอกษรสกรมทา

Warning เสนหยกสเขยวใตคาสง

3.5.4 การใสคาอธบายโปรแกรม (Comment)

การเขยนโปรแกรมทดเราควรจะตองมการอธบายคาสงโปรแกรม หรอการเขยน Comment เพอชวยใหเราสามารถเขาใจการทางานของโปรแกรมไดดขน โดยเฉพาะอยางยงเมอตองการกลบมาแกไขเพมเตมโปรแกรมในอนาคตหรอเขยนโปรแกรมรวมกบผอนเปนทม

ใน VB 2012 สามารถเขยนคาอธบายโปรแกรมไดโดยใสเครองหมาย ' (single quote) แลวตามดวยคาอธบายโปรแกรม ซง VB 2012 จะไมประมวลผลคาสงทอยหลงเครองหมายน

รปท 3.21 แสดงการใสคาอธบายโปรแกรม

Page 71: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

46

3.5.5 การแบงคาสงออกเปนหลายบรรทด

ในกรณทคาสงทอยในบรรทดนนมความยาวมาก ทาใหไมสามารถอานโปรแกรมและแกไขไดสะดวก เนองจากตองเลอนเมาสซาย/ขวาตลอดเวลา สามารถแยกคาสงออกเปนหลายบรรทดได โดยเวนวรรคและตามดวเครองหมาย _ ในบรรทดทตองการตอคาสง เชน

MessageBox.Show ("Hello " & TextBox1.Text, "This is a test. ")

สามารถแยกคาสงขางตนเปน 2 บรรทดไดดงน

รปท 3.22 แสดงการแบงคาสงเปนหลายบรรทด

3.5.6 การเขยนหลายคาสงในบรรทดเดยว

ในกรณทคาสงโปรแกรมมขนาดสนๆและไมซบซอน สามารถรวมหลายๆคาสงไวบรรทดเดยวไดเพอใหโปรแกรมมความกระชบมากขน โดยคนแตละคาสงดวยเครองหมาย : (colon)

เชน Dim Price, VatRate, Vat As Double

Price = 100

VatRate = 0.07

Vat = Price * VatRate

สามารถเขยนคาสงไวในบรรทดเดยวกนไดดงน

รปท 3.23 แสดงการเขยนหลายคาสงในบรรทดเดยว

Page 72: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

47

3.6 การบนทกโพรเจกต

ในระหวางทเขยนโปรแกรมนนควรบนทกงานไวดวยเสมออาจจะทก ๆ 10 นาทเพอปองกนเหตการณทไมคาดคดเกดขนเชน ไฟฟาดบ หรอปญหาการทางานผดพลาดของระบบปฏบตการ การบนทกโพรเจกตสามารถทาไดโดยการคลกทเมน File › Save All หรอคลกท บน Tool Bar

1. คลก File › Save All

หรอคลกท

2. ใสชอโพรเจกต และคลก Save

รปท 3.24 แสดงขนตอนการบนทกโพรเจกต

จากรปท 3.24 แสดงขนตอนการบนทกโพรเจกต ผเขยนโปรแกรมสามารถตงชอโพรเจกตไดในชอง Name และสามารถเลอกตาแหนงทเกบโพรเจกตไดโดยการกาหนดตาแหนงทปม Browse หลงชอง Location

โปรแกรมทพฒนาจะแทนดวยสงทเรยกวา โพรเจกต และโซลชน (Solution) โดยโพรเจกต กคองานเขยนโปรแกรมชนหนงๆ ซงประกอบดวยไฟลตางๆ หลายไฟล แตโซลชนจะรวบรวมโพรเจกต

ทเกยวของกนไวในกลมเดยวกน โพรเจกต จะตองอยภายในโซลชนเสมอ

รปท 3.25 แสดงความสมพนธของโพรเจกต และโซลชน

โซลชน

โพรเจกต 1 โพรเจกต 2 โพรเจกต 3

Page 73: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

48

โพรเจกต จะถกบนทกเปนไฟลทมนามสกล .vbproj เรยกวา Visual Basic Project File สวนโซลชนจะถกบนทกไฟลทมนามสกล .sIn เรยกวา Microsoft visual studio Solution หรอ Solution File

ไอคอนของ Visual Basic Project File และ Solution File เมอเปดใน Windows Explorer พบไอคอนดงรป

รปท 3.26 แสดงไอคอนของ Visual Basic Project File และ Solution File

3.7 ไฟลประเภทตางๆในโพรเจกตของ Visual Basic 2012

ไฟลตางๆทจะเกบในโฟลเดอรทสรางโพรเจกตขนมา ประกอบดวยไฟลหลายๆประเภท (เรยกวาโพรเจกตไอเทม) ดงน

ตารางท 3.5 แสดงคาอธบายของไฟลชนดตาง ๆ โพรเจกตของ Visual Basic 2012

ชนดของไฟล

(Project Item)

นามสกลของไฟล คาอธบาย

Visual Studio Solution .sln เกบรายละเอยดของโพรเจกตตางๆภายใน Solution

Visual Studio Project .vbproj เกบวาภายในโพรเจกตมโพรเจกตไอเทมใดอยบาง รวมถงตวเลอกของโพรเจกตดวย

Windows Form .vb เกบขอมลของ Win Form ซงมรายละเอยดเกยวกบฟอรมเชนคอนโทรลตางๆ, ซอรสโคด ททางานเกยวกบฟอรมนนๆ เปนตน

Class .vb เกบคลาสทสรางขน

Module .vb จะใชเกบตวแปร, คาคงท, โปรแกรมยอยทสามารถถกเรยกใชไดจากทกๆไฟลในโพรเจกต

HTML .htm, .html เปนไฟล HTML ทใชในโพรเจกต

XML .xml เปนไฟล XML ทใชในโพรเจกต

.NET XML Resource .resx เกบรายละเอยดเกยวกบ resource ของ XML

Assembly Information AssemblyInfo.vb เกบรายละเอยดขอมลของโพรเจกต ซงจะเกบ metadata

เกยวกบ assemblies ของโพรเจกต

Page 74: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

49

3.8 การตงคาการบนทกโพรเจกตเมอเรมตนสรางโพรเจกต

จากตวอยางการบนทกโพรเจกตขางตน จะสามารถบนทกไดกตอเมอมการสรางโพรเจกตไวกอนแลว หรออกความหมายหนงกคอเรมมการพฒนาโปรแกรมไปบางสวนแลว แตในกรณทผเขยนโปรแกรมตองการใหแสดงหนาตางการบนทกโพรเจกตเมอเรมตนสรางโพรเจกตกสามารถทาได แตอยางไรกตามควรคานงอยเสมอวาในระหวางทางานควรบนทกซ าบอย ๆ เพอปองกนเหตการณไมคาดคดดงทผเขยนไดกลาวไป การตงคาการบนทกโพรเจกตเมอเรมสรางโพรเจกตสามารถกาหนดไดโดย คลกเลอก Tools › Options บนเมนบาร และทาเครองหมาย ทกลองเลอก (Checkbox) Save new

Projects when created

1. คลกเลอก Tools › Options

2. ทาเครองหมาย ท Save new Projects when created

รปท 3.27 แสดงขนตอนการตงคาการบนทกโพรเจกตเมอเรมตนสรางโพรเจกต

3.9 การเปดโพรเจกต

เมอผเขยนโปรแกรมตองการทจะนางานทยงพฒนาไมเสรจสมบรณหรอตองการเปดงานเกาขนมาอกครง สามารถทาไดโดยการเลอกเมน File › Open Project บนเมนบาร และเลอกตาแหนงทเกบโพรเจกตไว

1. คลกเลอก File › Open Project

2. เลอกตาแหนงทเกบโพรเจกตและเลอกชอโพรเจกต

รปท 3.28 แสดงขนตอนการเปดโพรเจกต

Page 75: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

50

สรป

Visual Basic หรอ VB เปนหนงในภาษาโปรแกรมทนยมใชพฒนาโปรแกรมทใชในดานธรกจ จดเดนของVB คอนกเขยนโปรแกรมสามารถนาโปรแกรมประยกตหลาย ๆ โปรแกรมมารวมกนในโปรแกรมเดยว และยงสามารถประยกตใชคอนโทรลและคอมโพเนนตท VB

เตรยมไวใหแลวไดอกดวย

IDE (Integrated Development Environment) ประกอบไปดวยเครองมอตางๆ ทชวยอานวยความสะดวกในการพฒนาโปรแกรม

โดยออบเจกตใน Visual studio 2012 นนแบงไดเปน 2 ประเภทคอ คอนโทรล และ คอมโพเนนต

ในระหวางทเขยนโปรแกรมนนควรบนทกงานไวดวยเสมออาจจะทก ๆ 10 นาทเพอปองกนเหตการณทไมคาดคดเกดขนเชน ไฟฟาดบ หรอปญหาการทางานผดพลาดของระบบปฏบตการ

แบบฝกหด

1. โพรเจกตประเภท Windows Forms มลกษณะอยางไร

2. ไฟลชนด Solution และ Project แตกตางกนอยางไร

3. อธบายคณสมบตของออบเจกตและเมธอด

4. Auto Correct และ IntelliSense ทมอยใน Code Editor คออะไร

5. การใสคาอธบายโปรแกรมควรใสทจดใดบาง

Page 76: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

51

เอกสารอางอง

Jo Ann Smith. (2011). MICROSOFT VISUAL BASIC PROGRAMS TO ACCOMPANY

PROGRAMMING LOGIC AND DESIGN. 6th. Boston : Course Technology.

Rod Stephens. (2012). Visual Basic 2012 PROGRAMMER’S REFERENCE. Indianapolis : John

Wiley & Sons, Inc.

Microsoft . (2012). Explore the Visual Studio IDE with C# or Visual Basic. Retrieved

January 8, 2012, from Microsoft.http://msdn.microsoft.com/en-

us/library/vstudio/ms165079(v=vs.110).aspx

Page 77: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 4

หวขอเนอหาประจาบท 4.1 การออกแบบและสรางสวนตดตอกบผใชงาน

4.2 วธการออกแบบสวนตดตอกบผใชงาน

4.3 Graphical User Interfaces

4.4 ขนตอนการออกแบบสวนตดตอกบผใชงาน

4.5 การกาหนดคณสมบตของคอนโทรล

4.6 คอนโทรลพนฐานในการเขยนโปรแกรม

4.7 การตงชอออบเจกตหรอคอนโทรล

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. ออกแบบออกแบบสวนตดตอกบผใชงานได

2. สรางออกแบบสวนตดตอกบผใชงานได

3. สรางและกาหนดคณสมบตของคอนโทรลได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ พรอมยกตวอยางและสาธต

2. ศกษาจากเอกสารประกอบการสอน

3. ผเรยนฝกปฏบต

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Microsoft Visual Basic 2012

การวดและประเมนผล 1. สงเกตการณเขาชนเรยนและการปฏบต

2. มสวนรวมในการซกถามระหวางการบรรยาย

3. การตอบคาถามขณะทผสอนบรรยาย

4. การตรวจแบบฝกหด

Page 78: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 4 การออกแบบและสรางสวนตดตอกบผใชงาน

สวนตดตอกบผใช (User Interface) ถอเปนสวนหนงทจดเตรยมไวใหผใชไดโตตอบกบโปรแกรมผานทางหนาจอ และใชเปนเครองมอนาทางเขาสระบบ โปรแกรมทพฒนาขนนนมจดประสงคคอ การประมวลผลขอมลเพอใหไดมาซงผลลพธทตองการ ซงถอเปนกระบวนการทางานในเชง คอมพวเตอรศาสตร ในขณะเดยวกน สวนตดตอกบผใชทใชตดตอกบโปรแกรมจดเปนแนวคดเชง จตวทยา โดยมนษยมความคด มความรสกตอการโตตอบกบสงเราตาง ๆ ดงนน การออกแบบสวนตดตอกบผใชจงตองนาทงศาสตรศลปมาพจารณารวมกน เพอนาไปสการออกแบบทถกตองตามหลกการผใชพอใจและยอมรบ จดประสงคของการออกแบบสวนตดตอกบผใชคอ เพอบอกใหโปรแกรมรวาไดทากจกรรมอะไรลงไป, เพออานวยความสะดวกตอการใชงาน, หลกเลยงขอผดพลาดทเกดจากผใช (โอภาส เอยมสรวงศ, 2555 : 342)

4.1 การออกแบบและสรางสวนตดตอกบผใชงาน

การออกแบบสวนตดตอกบผใชงานเปนการออกแบบทมงเนนไปทการคาดการณถงสงทผใชอาจจาเปนตองกระทากบโปรแกรมและควรมองคประกอบทงายการการเขาถงและเขาใจงาย สวนตดตอกบผใชจะรวมเอาแนวคดของ การออกแบบปฏสมพนธกบผใช(Interaction design), การออกแบบทสามารถมองเหนได (visual design) และ สถาปตยกรรมขอมล (information architecture)

4.1.1 การเลอกองคประกอบของสวนตดตอกบผใชงาน

การเลอกใชคอนโทรลในการสรางสวนตดตอกบผใชงานควรเลอกคอนโทรลทผใชงานมความคนเคยอยบางแลว เพอใหผใชงานเขาใจและโตตอบกบโปรแกรมไดดยงขน ตวอยางการเลอกใชคอนโทรลในการรบขอมลจากผใชเชน ปม (Buttons), กลองขอความ (TextBox), กลองเลอก (CheckBox),

กลองรายการ (List Box) เปนตน

4.2 วธการออกแบบสวนตดตอกบผใชงาน

1. ออกแบบใหเรยบงาย หนาจอการทางานของโปรแกรมทดควรหลกเลยงองคประกอบทไมจาเปนและมคาอธบายทเขาใจไดงาย

2. สอดคลองและเลอกใชคอนโทรลทเขาใจไดงาย ควรเลอกใชคอนโทรลทพบไดบอยในหนาจอโปรแกรมอน ๆ เพอทผใชทมความคนเคยกบการใชโปรแกรมมาแลวจะเขาใจการทางานของโปรแกรมไดรวดเรวและจดองคประกอบของหนาจอใหความสอดคลองกน

Page 79: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

54

3. ออกแบบหนาจอโปรแกรมใหสอความหมายไดงาย ควรจดเรยงขอความและคอนโทรลในแตละหนาจอใหดเปนระเบยบเรยบรอยและพจารณาถงพนททใชบนหนาจอใหเหมาะสม

4. การเลอกใชสทเหมาะสม ควรเลอกใชสทดงดดความสนใจในรายการทตองการเนน

5. ใชตวอกษรทชดเจน การเลอกใชตวอกษรบนหนาจอโปรแกรมควรพจารณาถงรปแบบตวอกษร ขนาดของตวอกษรและการจดเรยงขอความ

6. ควรมการกาหนดคาตงตน (Defaults) ของหนาจอโปรแกรม คาตงตนของโปรแกรมในหนาจอทจาเปนควรจดเตรยมไวใหผใชเพอความสะดวกและรวดเรวตอการใชงานของผใช เชน ขอมลวนท, ตวเลอกรายการตาง ๆ ในกลองรายการเปนตน (User Interface Design Basic, 2014)

4.3 Graphical User Interfaces

กราฟฟก ยสเซอร อนเตอเฟส (GUIs) คอการแสดงกราฟกบนหนาจอคอมพวเตอร ซงกราฟกทแสดงบนหนาจอนนสามารถควบคมดวยคยบอรด จอยสตก เมาส การจดการโดยตรงกบ GUIs ตองใชระบบทมความซบซอนมากขน การทางานของ GUIs ทสาคญคอการตอบสนองของผใชงายตอกราฟฟก นน ๆ

( Kenneth E. Kendall and Julie E. Kendall, 2003 : 657)

GUIs อาจกลาวไดวาเปนการทางานของโปรแกรมแบบ Event-Driven (ทางานเมอเกดเหตการณ)

หรอ Event-Base (บนพนฐานของเหตการณ) เหตทเปนเชนนเพราะโปรแกรมจะตอบสนองกตอเมอผใชมากระทาตอโปรแกรมนน ๆ เชน การคลกเมาสทปมคาสง การทางานของโปรแกรมทเปนแบบ GUIs คอโปรแกรมจะรอเหตการณทจะเกด (event listener) และเมอเกดเหตการณจะตอบสนองตามคาสงทกาหนดไวเมอเกดเหตการณนน (Smith, Jo Ann, 2011 : 170)

ในปจจบนสวนตดตอกบผใชงานเปนแบบ GUIs เปนสวนใหญ ยกตวอยางใหเหนภาพไดอยางชดเจนคอ โปรแกรมเครองคดเลขทมอยในระบบปฏบตการ Windows จะเหนหนาจอโปรแกรมทประกอบไปดวยชองแสดงขอมล, เมน และปมอยในรปแบบของกราฟฟก โปรแกรมจะทางานกตอเมอมการปอนตวเลขจากคยบอรดหรอคลกเมาสจากผใช

รปท 4.1 แสดงตวอยางโปรแกรมทเปน GUIs

Page 80: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

55

การออกแบบสวนตดตอกบผใชหรอหนาจอโปรแกรมควรออกแบบใหใชงานงาย และนาใชเมอใหโปรแกรมทางน และเลอกใชตวควบคมทจาเปนเหมาะสมกบการใชงานของโปรแกรมมาจดวางบนฟอรม ตวอยางหนาจอโปรแกรมทผเขยนไดพฒนาไวบางสวนเชน

หนาจอโปรแกรมการขายสนคาของรานคาปลก

ในมหาวทยาลยราชภฏอดรธาน

หนาจอโปรแกรมการรบสมครนกเรยนของโรงเรยนนานาชาต

หนาจอโปรแกรมบนทกขอมลผชานาญการ

หนาจอโปรแกรมสงหนงสอราชการแบบมระบบ

แจงเตอนหนงสอเขา

รปท 4.2 ตวอยางบางสวนของสวนตดตอกบผใชหรอหนาจอโปรแกรมทผเขยนไดพฒนาขน

4.4 ขนตอนการออกแบบสวนตดตอกบผใชงาน

1. รางแบบหนาตาของฟอรม โดยอาจรางบนกระดาษไวกอน ระบตวควบคมตาง ๆ ใหเหมาะสมกบการใชงาน พรอมตาแหนงการวางตวควบคม

2. สรางคอนโทรลตาง ๆ บนฟอรม โดยพจารณาจากความเหมาะสมของคอนโทรลตาง ๆ ทใชตามวธการออกแบบสวนตดตอกบผใชตามทไดกลาวไปแลว

3. กาหนดคณสมบตของคอนโทรล ใหเหมาะสมและสวยงาน ควรกาหนดชอของคอนโทรลแตละตวทนามาวางบนฟอรมดวย (รวมถงการกาหนดชอฟอรม) เพอเตรยมเขาสขนตอนการเขยนโปรแกรม

Page 81: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

56

4.5 การสรางคอนโทรลบนฟอรม

ฟอรมจะเปนพนททใชสาหรบบรรจคอนโทรลประเภทตาง ๆ เพอตดตอกบผใช การสรางคอนโทรลบนฟอรมจะสามารถกระทาได 3 วธ ดงน

วธท 1 คลกเมาสเลอกคอนโทรลทตองการบน Tool Box กดเมาสซายคางไวแลวนามาลากบนเพอกาหนดตาแหนงและขนาดของคอนโทรล วธท 2 ดบเบลคลกทคอนโทรลบน Tool Box คอนโทรลจะปรากฏขนบนฟอรมแลวคลกเมาสคางทคอนโทรลเพอจดตาแหนง

วธท 3 คลกเมาสทคอนโทรลบน Tool Box แลวคลกเมาสบนฟอรม

1. คลกเมาสซายคางไวบนคอนโทรล

2. ลากเมาสบนฟอรมทตาแหนงทตองการ

3. ปลอยเมาสจะปรากฏคอนโทรล

รปท 4.3 แสดงการสรางคอนโทรลบนฟอรมวธท 1

1. ดบเบลคลกทคอนโทรล

2. คอนโทรลจะปรากฏบนฟอรม

3. คลกเมาสคางทคอนโทรลบนฟอรมเพอจดตาแหนง

รปท 4.4 แสดงการสรางคอนโทรลบนฟอรมวธท 2

Page 82: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

57

1. คลกทคอนโทรล

2. คลกเมาสบนฟอรมบนตาแหนงทตองการ

3. ปรากฏคอนโทรลบนฟอรม

รปท 4.5 แสดงการสรางคอนโทรลบนฟอรมวธท 3

สาหรบการลบคอนโทรลออกจากฟอรมสามารถทาไดโดยการคลกทคอนโทรลและกดปม Delete

บนคยบอรด

4.6 การกาหนดคณสมบตของคอนโทรล

พรอพเพอรต (property) คอคณสมบตของออบเจคหรอคอนโทรลทจะเปนตวกาหนดรปแบบการแสดงหรอพฤตกรรมของคอนโทรล (Stephens Rod, 2011 : 60) ซงคอนโทรลแตละตวจะมลกษณะเฉพาะตางกนไป สามารถกาหนดคณสมบตของคอนโทรลไดจากรายการตาง ๆ วนโดว Properties การกาหนดคณสมบตของคอนโทรลบนวนโดว Properties นนจะมทงแบบทอนญาตใหผเขยนโปรแกรมปอนคาเขาไปตรง ๆ และแบบทตองเลอกจากตวเลอกทเตรยมไวใหเทานน การกาหนดคณสมบตของคอนโทรลทาไดทงในชวงออกแบบโปรแกรม (Design Time) และในชวงทโปรแกรมทางาน (Run Time) มวธดงน

4.6.1 การกาหนดคณสมบตของคอนโทรลในชวงการออกแบบ (Design Time)

1. คลกเลอกทคอนโทรลทตองการกาหนดคณสมบต

2. คลกเลอกคณสมบตจากรายการทแสดงใน Properties Windows

3. กาหนดคาใหกบคณสมบตตาง ๆ ผาน Properties Windows ซงกาหนดได 2 แบบคอ

3.1 การกาหนดคาอยางอสระ สามารถปอนคาใน Property Window ไดอยางอสระ เชน ชอของคอนโทรล (Name), ขอความทแสดงบนคอนโทรล (Text) เปนตน

3.2 การกาหนดคาจากรายการตวเลอก เปนการกาหนดคาโดยเลอกจากตวเลอกในรายการทมใหของ Property Window เชน สของคอนโทรล (BackColor), รปแบบของเสนขอบ (Border

Style), การจดวางตาแหนงของขอความ (TextAlign) เปนตน

Page 83: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

58

1. คลกทคอนโทรล

2.คลกเลอกคณสมบตแลวกาหนดคา

3.ผลลพธของการกาหนดคณสมบต Text ของปม

รปท 4.6 แสดงการกาหนดคณสมบตของคอนโทรลผานหนาตาง Propertiesในชวงออกแบบโปรแกรม

4.6.2 การกาหนดคณสมบตของคอนโทรลในชวงการทางานของโปรแกรม (Run Time)

การกาหนดคณสมบตของคอนโทรลในชวงการทางานของโปรแกรม (Run Time) จะใชวธการเขยนคาสงตอเหตการณตาง ๆ ทเกดขนในคอนโทรลนน ๆ เชน เมอปอนขอมลลงไปในกลองขอความ (TextBox) แลวปมคาสงสามารถทางานได โดยมวธการดงน

1. ดบเบลคลกทคอนโทรลทจะเกดเหตการณ

2. เขยนคาสงเพอกาหนดคณสมบตใหกบคอนโทรลทตองการ ซงจะเปนคอนโทรลตวใดก ไดทอยในฟอรมโดยมรปแบบการเขยนคอ

ControlName.Properties = Value

โดยท

ControlName คอ ชอของคอนโทรลทตองการกาหนดคณสมบต

Properties คอ คณสมบตทมอยของคอนโทรลนน ๆ Value คอ คาทกาหนดใหกบคณสมบตนน ๆ ของคอนโทรล

1. ดบเบลคลกทคอนโทรล

2. เขยนคาสงกาหนดคณสมบตใหกบคอนโทรล

Page 84: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

59

3. รนโปรแกรม

4. ผลลพธเมอคลกทปม

รปท 4.7 แสดงขนตอนการกาหนดคณสมบตของคอนโทรลดวยการเขยนคาสง

จากรปท 4.7 สามารถอธบายขนตอนการกาหนดคณสมบตและผลลพธของการทางานไดคอ ตองการแสดงคาวา “ทดสอบ” ทกลองขอความทชอ TextBox1 ซงกคอคณสมบต Text ของคอนโทรล TextBox โดยขอความจะแสดงกตอเมอมการคลกเมาสจากผใช ดงนนเมอสงใหโปรแกรมทางานจะพบวาเมอโปรแกรมเรมตนจะยงไมมขอความใด ๆ เกดขนบน Text Box แตเมอผใชคลกเมาสทปม Ok จะปรากฏขอความขนท Text Box

ในแตละคอนโทรล อาจจะมคณสมบตทเหมอนกนหรอตางกนกได ขนอยกนหนาทของแตละคอนโทรล คอนโทรลหนงๆ จะมคณสมบตหลายอยาง หากสามารถกาหนดคณสมบตของคอนโทรลใหตรงกบความตองการของผใชไดมากเทาใดโปรแกรมกจะมประสทธภาพมากขน การกาหนดคณสมบตของแตละคอนโทรลไมจาเปนตองกาหนดทกๆ คณสมบต เพราะ Visual Basic ไดกาหนดคาเรมตน (default) ของแตละคอนโทรลไวใหแลว ตวอยางคณสมบตของคอนโทรลมกจะพบบอยในแตละคอนโทรล มดงตารางท 4.1

ตารางท 4.1 แสดงคณสมบตของคอนโทรลและคาอธบาย

ทมา : (ปรบปรงจาก Stephens Rod, 2011 : p. 61)

คณสมบต (Properties) คาอธบาย

AutoSize กาหนดขนาดของคอนโทรลใหพอดกบขอความ

BackColor กาหนดสพนหลง

BackgroundImage แสดงรปภาพบนคอนโทรล

BorderStyle กาหนดรปแบบเสนขอบของคอนโทรล

Cursor กาหนดรปแบบของเคอรเซอรเมอไปชทคอนโทรล

Checked กาหนดใหการเลอกหรอไม ใชกบคอนโทรลทสามารถคลกเลอกไดเชน CheckBox หรอ RadioButton

Dock กาหนดตาแหนงการวางของคนโทรลตามขอบของฟอรม

Page 85: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

60

คณสมบต (Properties) คาอธบาย

Enabled กาหนดใหคอนโทรลสามารถทางานไดหรอไม Font กาหนดรปแบบ ขนาด ของตวอกษร

ForeColor กาหนดสของตวอกษร

Image แสดงรปภาพบนคอนโทรล

Items แสดงลสรายการบนคอนโทรล

Location กาหนดตาแหนงของคอนโทรลบนฟอรม

MultiColumn กาหนดใหคอนโทรลสามารถแสดงลสรายการไดหลายคอลมน

MultiLine กาหนดใหคอนโทรลรองรบขอความไดหลายบรรทด ใชกบคอนโทรล TextBox และ RichTextBox

ScrollBars กาหนดใหแสดงแถบเลอนบนคอนโทรล ใชกบคอนโทรล TextBox และ RichTextBox

SelectionMode กาหนดใหผใชสามารถเลอกรายการได 1 รายการหรอหลายรายการได ใชกบคอนโทรลทแสดงลสรายการได

SelectedIndex กาหนดใหมการเลอกรายการใดในลสรายการ

Size กาหนดขนาดของคอนโทรล

TabIndex กาหนดการลาดบของการกดแทบ

Text กาหนดขอความใหแสดงบนคอนโทรล

Value กาหนดคาใหกบคอนโทรลทกาหนดคาไดเฉพาะตวเลข

Visible กาหนดใหแสดงคอนโทรลใหเหนหรอไมเหน

4.7 คอนโทรลพนฐานในการเขยนโปรแกรม

การเขยนโปรแกรมดวย Visual Basic 2012 นนสวนใหญเมอสรางหนาจอโปรแกรมจะมคอนโทรลพนฐาน 3 ชนดทนยมใชกนอยางมากหรออาจเรยกไดวาแทบทกฟอรมจะตองมคอนโทรล 3 ชนดนประกอบดวยเสมอไมวาจะอยางใดอยางหนงหรอทงสามชนดเลยกได คอนโทรลพนฐานทง 3 ชนดมดงตอไปน

4.7.1 เลเบล (Label)

เลเบลเปนคอนโทรลทใชแสดงขอความบนฟอรม เชน อธบายวาจะรบขอมลอะไร เลเบลใชแสดงขอความทผใชไมสามารถแกไขไดตอนรนโปรแกรม แตถงอยางไรกสามารถเปลยนขอความในขณะทรนโปรแกรมได ดวยการเขยนคาสงควบคม

Page 86: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

61

รปท 4.8 แสดงคอนโทรล label

ตารางท 4.2 แสดงคณสมบตทสาคญของ Label

พรอพเพอรต คาอธบาย

Text กาหนดขอความทตองการใหแสดงบนคอนโทรล

AutoSize กาหนดใหขนาดของเลเบลเทากบขนาดของขอความตามแนวนอนโดยอตโนมตหรอไม(True หรอ False)

TextAlign กาหนดให ขอความในเล เบลใหอยในตาแหนง ทตองการดงน

คณสมบตนจะแสดงใหเหนกตอเมอมการกาหนด Auto Size ใหเปน False

BorderStyle กาหนดลกษณะของขอบเลเบล(None = ไมมกรอบ,FixedSingle = กรอบเสนเดยว หรอ Fixed3D = กรอบลก 3มต)

Font กาหนดรปแบบและขนาดของตวอกษร

ForeColor กาหนดสของตวอกษร

BackColor กาหนดสพน (Background) ของเลเบล

คอนโทรล Label

TopCenter

MiddleCenter

BottomCente

TopRight

MiddleRight

BottomRight

TopLeft

MiddleLeft

BottomLeft

Page 87: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

62

ตวอยางการกาหนดคณสมบตของ Label

Text = กรณาปอนราคาสนคา Text = กรณาปอนราคาสนคา Text = กรณาปอนราคาสนคา

AutoSize = True AutoSize = True AutoSize = MiddleCenter

TextAlign = TopLeft

(คาตงตนทโปรแกรมกาหนดให)

TextAlign = TopLeft

(คาตงตนทโปรแกรมกาหนดให)

TextAlign = TopLeft

BorderStyle = None BorderStyle = Fixed3D BorderStyle = FixedSingle

รปท 4.9 ตวอยางการกาหนดคณสมบตของ Label

4.7.2 เทกซบอกซ (Text Box)

เทกซบอกซคอนโทรลทรบขอความผานทางคยบอรดหรอแสดงขอความตางๆทตองการได

รปท 4.10 แสดงคอนโทรล Text Box

คณสมบต (Properties) ทสาคญของ Text Box ไดแก

ตารางท 4.3 แสดงคณสมบตทสาคญของ TextBox

พรอพเพอรต คาอธบาย

Text ใชกาหนดหรออางถงขอมลทอยในเทกซบอกซ Text Align กาหนดตาแหนงขอความภายในเทกซบอกซ

Left = ชดซาย,Center = กงกลาง,Right = ชดขวา

Max Length กาหนดความยาวสงสดของขอความทสามารถรบไดในเทกซบอกซ Password Char กาหนดอกขระทตองการแสดงในกรณทตองการรบรหสผาน(Password Charนจะมคาเรมตน

เปนคา blank)เชนกาหนด Password Char ใหคาเปน* เวลาผใชพมพขอความในTextbox จะ

แสดงในเทกซบอกซจะแสดงเปน * แทน

คอนโทรล Text Box

Page 88: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

63

พรอพเพอรต คาอธบาย

Locked กาหนดใหเทกซบอกซอานไดอยางเดยวหรอไม(มคาเรมตนเปน False คอหมายถงสามารถแกไขได)ถากาหนดให Locked มคาเปน True ผใชจะไมสามารถแกไขได (อานไดอยางเดยวเทานน)

Border Style กาหนดรปแบบของเทกซบอกซ

Fixed3D (คาเรมตน) = รปแบบเทกซบอกซเปนแบบ3 มต

None = ไมมการตกรอบ , FixedSingle = มกรอบเปนมตเดยว Multiline กาหนดใหแสดงและรบขอความหลายบรรทดได (True รบและแสดงขอความไดหลายบรรทด,

False รบและแสดงขอความไดบรรทดเดยว)

ตวอยางการกาหนดคณสมบตของ TextBox

TextAlign = Right TextAlign = Right TextAlign = Left

PasswordChar = * MultiLine = True

รปท 4.11 แสดงตวอยางการกาหนดคณสมบตของ Text Box

4.7.3 บททน (Button)

เปนปมคาสงทใหผใชคลกเพอทางานอยางใดอยางหนงเราจะเหนการใชปมคาสงในโปรแกรมตางๆแทบทกโปรแกรม

รปท 4.12 แสดงคอนโทรล Button

คอนโทรล Button

Page 89: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

64

คณสมบต (Properties) ทสาคญของ Button ไดแก

ตารางท 4.4 แสดงคณสมบตทสาคญของ Button

พรอพเพอรต คาอธบาย

Text ใชกาหนดขอความทแสดงบนปมคาสง

สามารถกาหนดคยลด (Shortcut Key) ใหกบปมคาสงโดยการเพมสญลกษณ & หนาตวอกษรทตองการจะทาใหตวอกษรบนคาสงมเสนใตขดอยและเมอผใชกดปมAltตวอกษรตวนนจะเหมอนกบการคลกเมาสทปมคาสงนนๆ

หมายเหต ถาตองการแสดงตวอกษร & บนปมคาสงใหใช &&

Text Align กาหนดตาแหนงขอความภายในปมคาสง

Image กาหนดรปทตองการ

Image Align กาหนดตาแหนงรปทตองการ(มตวเลอกเหมอนกบพรอพเพอรต Text Align )

Flat Style กาหนดลกษณะของ Button ซงประกอบไปดวยแบบ Standard,Flat,Popup และ System

Background Image กาหนดรป Background ของปมคาสง

Standard

Popup

Flat

System

TopCenter

MiddleCent

BottomCent

TopRight

MiddleRight

BottomRight

TopLeft

MiddleLeft

BottomLeft

Page 90: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

65

ตวอยางการกาหนดคณสมบตของ Button

Text = OK Text = &Click Image = ชอภาพใน Resources

Image Align = MiddleLeft

รปท 4.13 ตวอยางการกาหนดคณสมบตของ Button

ปมคาสงหรอ Button สามารถแสดงรปไดโดยรปทจะแสดงบนปมคาสงจะตองมนามสกลเปน *.gif,

*.jpg, *.jpeg, *.bmp, *.wmf และ *.png มวธการนารปมาแสดงดงน

1.คลกเลอกปมทตองการและเลอก Properties Image

2. จะปรากฏหนาตาง Select Resource คลกปม Import

3. เลอกโฟลเดอรทเกบรปและเลอกรปทตองการ

4. ทหนาตาง select Resource จะแสดงชอรปทนาเขามาใหเลอกทชอรปทตองการและดานขางจะแสดงตวอยางของรป

Page 91: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

66

5. รปทเลอกแสดงบนปม

6. กาหนดตาแหนงการแสดงรปดวย Properties

ImageAlign

รปท 4.14 แสดงขนตอนการแสดงรปบนปมคาสง

4.8 การตงชอออบเจกตหรอคอนโทรล

เมอมการสรางออบเจกตหรอคอนโทรลขนบนฟอรมแลว โปรแกรมจะตงชอของออบเจกตหรอคอนโทรลนน ๆ ใหเบองตนเชนถาม Text box 3 ตว แตละตวกจะไดชอวา TextBox1, TextBox2, TextBox3

ตามลาดบ แตวธการนจะทาใหสบสนในขนตอนการเขยนโปรแกรมวา Text Box แตละตวรบคาหรอแสดงคาอะไรบาง ดงนนควรตงชอออบเจกตหรอคอนโทรลเสมอเพอปองกนความสบสนในการเขยนโปรแกรม

เทคนคในการตงชอออบเจกตหรอคอนโทรลทนยมใชกนอยางแพรหลายคอ อกษร 3 ตวแรกจะเปนตวบงบอกชนดของออบเจกตหรอคอนโทรล แลวตามดวยชอทบอกวาคอนโทรลกระทากบขอมลใด ตวอยางการตงชอคอนโทรลดงตารางท 4.5

ตารางท 4.5 แสดงตวอยางการตงชอคอนโทรล

คอนโทรล ตวยอ ตวอยางการตงชอ

CheckBox chk chkStatus

ComboBox cbo cboType

Button btn btnSave

Image img imgProduct

Label lbl lblAddress

ListBox lst lstMonth

OptionButton opt optSex

TextBox txt txtUserName

Timer tmr tmrTimeStart

Page 92: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

67

ตวอยางท 4.1 สรางคอนโทรลและกาหนดคณสมบตของคอนโทรลผานหนาตาง Properties และการเขยนคาสงกาหนดคณสมบตของคอนโทรล ใหสรางฟอรมและกาหนดคณสมบตของคอนโทรลดงน

1. สรางโพรเจกตใหม โดยเลอกชนดของโพรเจกตเปน Windows Forms Application ตงชอโพรเจกตวา ValFunction

1. สรางโพรเจกตใหม

2. ตงชอโพรเจกต

รปท 4.15 แสดงการสรางโพรเจกตใหม

2. กาหนดชอฟอรมโดยวธการคลกทฟอรมแลวเลอกคณสมบต Name ทหนาตาง Properties ตงชอวา frmValFunction

2.1 คลกเลอกทฟอรม

2.2 ตงชอฟอรมทคณสมบต Name

รปท 4.16 แสดงการตงชอฟอรม

โดยปกตแลว VB จะกาหนดชอฟอรมมาใหอยแลวถาเปนฟอรมแรกของโพรเจกตจะมชอวา Form1

และถามฟอรมอน ๆ อกในโพรเจกตจะมชอ Form2, Form3 ตามลาดบ ผเขยนแนะนาวาควรตงชอฟอรมทกฟอรมเพอปองกนความสบสนในกรณทโพรเจกตมหลายฟอรมจะไดรวาฟอรมแตละฟอรมทาหนาทอะไร และการตงชอฟอรมควรตงใหสอความหมายดวยเชน frmMember (ฟอรมทจดการสมาชก), frmCalcTax

(ฟอรมทใชคานวณภาษ) เปนตน

Page 93: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

68

3. กาหนดไตเตลของฟอรมทคณสมบต Text โดยการคลกทฟอรมแลวเลอกคณสมบต Text ทหนาตาง Properties ตงชอเปน Val function

รปท 4.17 แสดงขนตอนการกาหนดไตเตลของฟอรม

การกาหนดไตเตลของฟอรมมความสาคญอยางมากเพราะจะเปนตวบงบอกใหผใชรวากาลงทางานกบหนาจออะไร ดงนนจงควรกาหนดไตเตลของฟอรมทกฟอรมทมอยในโพรเจกตดวย

ผทเรมใชงาน VB ใหม อาจจะสบสนระหวางคณสมบต Name กบ Text และบอยครงทกาหนดคณสมบตผดวตถประสงค ผเขยนขออธบายใหเขาใจงาย ๆ ดงน คณสมบต Name จะใชตงชอใหกบคอนโทรลหรอออบเจกตเพอใชอางองในการทางานหรอการเขยนโปรแกรมเมอกาหนดแลวจะไมเหนผลลพธทหนาจอโปรแกรม สวนคณสมบต Text จะใชสาหรบแสดงขอความบนตวคอนโทรลหรอออบเจกตเมอกาหนดแลวจะปรากฏใหเหนผลหนาจอโปรแกรม

4. นาคอนโทรล Label, TextBox และ Button มาวางบนฟอรมดงรปท 4.15

รปท 4.18 แสดงการวางคอนโทรล Label, TextBox และ Button บนฟอรม

5. กาหนดคณสมบตของคอนโทรลแตละตวโดยการคลกเลอกคอนโทรลทอยบนฟอรมทละตวแลวกาหนดคณสมบตของคอนโทรลทหนาตาง Properties ตามตารางดานลาง

Page 94: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

69

ตารางท 4.6 แสดงคาทกาหนดคณสมบตของคอนโทรลตาง ๆ

คอนโทรล คณสมบต คาทกาหนด

Label1 Text ปอนคาท1

Label2 Text ปอนคาท2

Button1 Text ทดสอบ

Label3 Text ผลลพธ

5.1 คลกเลอกทคอนโทรล

5.2 กาหนดคณสมบต

รปท 4.19 แสดงขนตอนการกาหนดคณสมบต Text ของคอนโทรล Label

เมอกาหนดคณสมบตของคอนโทรลครบทกตวแลวจะไดผลลพธตามรปท 4.20 จากการกาหนดคณสมบตขางตนจะเหนวาทคอนโทรล Textbox จะไมนยมกาหนดคณสมบต Text เพราะตองการใหผใชงานปอนคาเขาไปเองโดยจะใชคาอธบายวาคาทปอนเขาไปใน Textbox แตละตวนนคอคาอะไรดวยคอนโทรล Label ในทางปฏบตทดควรตงชอของคอนโทรลทกตวทอยบนฟอรมดวยเพอปองกนการสบสนของการเขยนโปรแกรมวาจะใหคอนโทรลตวใดทางาน (ในแบบฝกหดนยงไมมการตงชอของคอนโทรลทอยบนฟอรมเพอความเขาใจหลกการในเบองตนกอน ผเขยนจะกลาวถงในภายหลง) สวนคอนโทรล Label

ทนามาสรางคาอธบายจะไมนยมตงชอใหกบคอนโทรลชนดนเพราะในระหวางทโปรแกรมทางานจะไมมการเปลยนแปลงทเกดขนกบคอนโทรลเลย ยกเวนผเขยนโปรแกรมตองการเปลยนขอความทอยบนคอนโทรลชนด Label จงตงชอไวได

รปท 4.20 แสดงผลลพธจากการกาหนดคณสมบต Text ของคอนโทรล

Page 95: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

70

6. กาหนดคณสมบต Enabled ของคอนโทรล Button ใหเปน False การกาหนดคณสมบตนเมอโปรแกรมเรมทางานจะไมสามารถใชงานคอนโทรลได

6.1 คลกเลอกคอนโทรล Button

6.2 กาหนดคณสมบต Enabled ของคอนโทรลเปน False

รปท 4.21 แสดงขนตอนการกาหนดคณสมบต Enabled ของคอนโทรล Button

เมอกาหนดคณสมบตของคอนโทรลในชวงออกแบบโปรแกรมครบทกตวแลวใหทดสอบผลลพธของโปรแกรมโดยสงใหโปรแกรมทางานดวยการคลกทปม บน Tool Bar หรอกดปม F5 บนคยบอรด

รปท 4.22 ผลลพธเมอสงใหโปรแกรมทางาน

จากรปท 4.22 เมอโปรแกรมทางานจะเหนวาในชองปอนขอมล (TextBox) สามารถปอนคาลงไปไดโดยการปอนผานคยบอรด สวนทปม (Button) จะไมสามารถคลกไดเพราะไดกาหนดคณสมบต Enabled

เปน False ไว

จากการกาหนดคณสมบตทผานมาขางตน เปนการกาหนดคณสมบตในชวงของการออกแบบโปรแกรม (Design Time) ซงควรทาทกครงเมอสรางโปรแกรมใด ๆ กตาม ในขนตอนตอไปจะเปนการกาหนดคณสมบตของคอนโทรลในชวงการทางานของโปรแกรม (Run Time) นนหมายความวาคณสมบตทกาหนดนจะทางานกตอเมอโปรแกรมถกสงใหทางานแลว การกาหนดคณสมบตในชวงการทางานของโปรแกรมนจะกาหนดดวยวธการเขยนคาสงในเหตการณทเกดขนของคอนโทรลตวใดตวหนง แบบฝกหดนจะใหคอนโทรล Button ซงถกตงคาไวใหไมสามารถคลกไดในตอนโปรแกรมเรมทางาน ใหสามารถคลกไดเมอมการปอนขอมลลงไปใน TextBox ตวท 1โดยมวธการดงน

Page 96: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

71

7. ดบเบลคลกท TextBox ใหเขาส Code Editor เพอเขยนคาสงควบคม และเขยนคาสงดงน Button1.Enabled = True

รปท 4.23 แสดงการเขยนคาสงกาหนดคณสมบตของคอนโทรล

จากรปท 4.23 จะเหนวาคาสงจะถกเขยนอยในบลอกของ Private Sub…End Sub ซงจะเรยกวาซบรทนหรอชดคาสงยอย ดานหลง Private Sub จะเปนชอของคอนโทรลจากรปจะเปนคอนโทรลทชอ Textbox1

และหลงเครองหมาย _ จะเปนเหตการณของคอนโทรลซงกคอ TextChanged เหตการณนจะหมายถงการเปลยนขอความใน Textbox จะอธบายสรปไดวา ชดคาสงนเขยนลงไปนจะทางานเมอเกดการเปลยนแปลงขอความในกลองขอความทชอ Textbox1

เมอเขยนชดคาสงแลวใหรนโปรแกรมอกครงแลวทดลองปอนคาลงไปใน Text Box ตวแรกจะเหนวาปมทถกปดการทางานไวจะกลบมาใชงานได

1. รนโปรแกรม ปมไมสามารถคลกได

2. เมอปอนคาลงไป ปมสามารถคลกได

รปท 4.24 แสดงการทางานของโปรแกรมเมอปอนคาลงไปใน TextBox

เมอไดทดลองกาหนดคณสมบตของคอนโทรลดวยวธการทง 2 แบบแลวใหบนทกโพรเจกตโดยตงชอวา ValFunction เพอทจะไวใชศกษาในเนอหาตอไป

Page 97: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

72

ผลลพธ (Output): คาลวงเวลาของพนกงาน

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

Algorithm :

1. ปอนจานวนชวโมงททางานลวงเวลา

2. คานวณหาคาลวงเวลาของพนกงาน จาก จานวนชวโมงททางานลวงเวลา x 60

3. แสดงคาลวงเวลาของพนกงาน

แบบฝกหดท 4.2 ออกแบบและสรางหนาจอคานวณคาลวงเวลาของพนกงานโดยใหคาลวงเวลาของพนกงานชวโมงละ 60 บาท

จากการวเคราะหปญหาและออกแบบอลกอรธมในบทท 2 ตวอยางท 2.3 ผลการวเคราะหและออกแบบคอ

เทคนคในการออกแบบหนาจอโปรแกรมใหพจารณาจากจานวนขอมลเขา(Input), ผลลพธ (Output) และอลกอรธมจากการวเคราะหและออกแบบการทางานของโปรแกรม เชน ถามขอมลเขา 2 ตวกใหใช Textbox

2 ตวเพอรบขอมล การประมวลผลของโปรแกรมอาจใชปม (Button) เพอรอการคลกใหโปรแกรมประมวลผล (Diane Zak , 2014 : 64)

จากการวเคราะหขอมลและออกแบบอลกอรธมจากตวอยางท 2.3 ในบทท 2 จะพบวามขอมลเขา 1

ตวคอจานวนชวโมงททางานลวงเวลานนหมายความวาตองมคอนโทรลทสามารถรบการปอนขอมลจากผ ใชไดซงคอนโทรลทนยมนามาใชในการรบขอมลจากการปอนของผใชคอคอนโทรล TextBox ดงนนจงเลอกใชคอนโทรลนเปนตวรบขอมลจากผใช และผลลพธของโปรแกรมนม 1 ตวคอคาลวงเวลาของพนกงาน การเลอกใชคอนโทรลทจะแสดงผลลพธในโปรแกรม VB มใหเลอกใชมากมายแตทนยมคอ Label

และ Textbox แตในกรณทไมตองการใหผใชงานแกไขผลลพธไดดวยตวเองโดยไมผานการประมวลผลของโปรแกรมผเขยนแนะนาใหใชคอนโทรล Label (จะใช TextBox กได) ดงนนคอนโทรลตวท 2 ทจะปรากฏบนหนาจอโปรแกรมคอ Label ทมไวสาหรบแสดงคาลวงเวลาของพนกงาน สาหรบการประมวลผลของโปรแกรมจะทาเมอผใชปอนขอมลเขามาแลวใหคลกทปม ดงนนจงใชคอนโทรล Button

Page 98: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

73

จากการเลอกใชคอนโทรลตาง ๆ ในโปรแกรมสามารถสรปคอนโทรลทจาเปนไดดงตารางดานลาง

ตารางท 4.7 แสดงรายการคอนโทรลทใชในโปรแกรม

คอนโทรล จดประสงค

Textbox รบขอมลชวโมงการทางานจากผใชงาน (Input)

Label แสดงคาลวงเวลา (Output)

Button คานวณและสงใหโปรแกรมแสดงคาลวงเวลา (Process)

เมอเลอกไดแลววาบนฟอรมควรใชคอนโทรลใดบางขนตอไปกคอการสรางหนาจอโปรแกรมโดยมขนตอนดงน

1. วางคอนโทรลบนฟอรม

รปท 4.25 แสดงการวางคอนโทรลบนฟอรม

2. กาหนดคณสมบตของคอนโทรลดงน

ตารางท 4.8 แสดงรายละเอยดการกาหนดคณสมบตของคอนโทรล

คอนโทรล คณสมบต คาทกาหนด

Textbox1 Name txtHour

Font Size = 12

Label1 Name lblOT

AutoSize False

BackColor ActiveCaptionText (สดา)

Font Size = 12

ForeColor ButtonHignlight (สขาว)

Text 0.00

TextAlign MiddleRight

Button1 Name btnCalc

Text คานวณ

Form1 Text คานวณคาลวงเวลา

Page 99: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

74

เมอกาหนดคณสมบตตาง ๆ ของคอนโทรลแตละตวตามตารางท 4.8 แลวใหจดตาแหนงและขนาดของคอนโทรลใหดสวยงาม

รปท 4.26 แสดงการจดตาแหนงและขนาดของคอนโทรล

ในขนสดทายของการสรางหนาจอโปรแกรมใหนาคอนโทรล Label มาสรางคาอธบายของคอนโทรลแตละตว และสรางปมเพมอก 1 ปมเพอใชสาหรบการปดโปรแกรม ซงในขนตอนการเขยนโปรแกรมควบคมการทางานของโปรแกรมนจะกลาวในบทท 6

รปท 4.27 แสดงหนาจอโปรแกรมเมอสรางเสรจ

สรป

สวนตดตอกบผใช (User Interface) ถอเปนสวนหนงทจดเตรยมไวใหผใชไดโตตอบกบโปรแกรมผานทางหนาจอ และใชเปนเครองมอนาทางเขาสระบบ

การเลอกใชคอนโทรลในการสรางสวนตดตอกบผใชงานควรเลอกคอนโทรลทผใชงานมความคนเคยอยบางแลว เพอใหผใชงานเขาใจและโตตอบกบโปรแกรมไดดยงขน

วธการออกแบบออกแบบสวนตดตอกบผใชงานตอง ออกแบบใหเรยบงาย, สอดคลองและเลอกใชคอนโทรลทเขาใจไดงาย, ออกแบบหนาจอโปรแกรมใหสอความหมายไดงาย, การเลอกใชสทเหมาะสม ควรเลอกใชสทดงดดความสนใจในรายการทตองการเนน, ใชตวอกษรทชดเจน, ควรมการกาหนดคาตงตน ของหนาจอโปรแกรม

การกาหนดคณสมบตของคอนโทรลทาไดทงในชวงออกแบบโปรแกรม (Design Time) และในชวงทโปรแกรมทางาน (Run Time)

Label เปนคอนโทรลทใชแสดงขอความบนฟอรม

Text Box เปนคอนโทรลทรบขอความผานทางคยบอรดหรอแสดงขอความตางๆทตองการได

Page 100: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

75

Button เปนคอนโทรลหรอปมคาสงทใหผใชคลกเพอทางานอยางใดอยางหนงเราจะเหนการใชปมคาสงในโปรแกรมตางๆแทบทกโปรแกรม

เทคนคในการตงชอออบเจกตหรอคอนโทรลทนยมใชกนอยางแพรหลายคอ อกษร 3 ตวแรกจะเปนตวบงบอกชนดของออบเจกตหรอคอนโทรล

แบบฝกหด

1. สวนตดตอกบผใชทดควรเปนอยางไร

2. คอนโทรลพนฐานทใชสรางสวนตดตอกบผใชมอะไรบาง และแตละชนดทางานอยางไร

3. จากตวอยางอลกอรธมตอไปน

3.1 ออกแบบหนาจอโปรแกรม

3.2 กาหนดชอและคณสมบตของคอนโทรล

ผลลพธ (Output): เงนเดอนคงเหลอ

การประมวลผล(Process): เงนประกนสงคม = เงนเดอนประจา X (5/100)

เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม ขอมลเขา (Input): เงนเดอนประจา

Algorithm :

1. ปอนเงนเดอนประจา

2. คานวณหาเงนประกนสงคมจาก เงนเดอนประจา x (5/100)

3. คานวณหาเงนคงเหลอจาก เงนเดอนประจา – เงนประกนสงคม 4. แสดงเงนเดอนคงเหลอ

Page 101: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

76

เอกสารอางอง

โอภาส เอยมสรวงศ. (2555) การวเคราะหและออกแบบระบบ(ฉบบปรบปรงเพมเตม). กรงเทพ : ซเอด ยเคชน.

สรสทธ ควประสพศกด นนทน แขวงโสภา. (2546). อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ :

โปรวชน.

Kendall Kenneth E. and Kendall Julie E. (2003). Systems Analysis and Design. 5th. Jurong : Pearson

Education Aisa Pte Ltd.

Jo Ann Smith. (2011). MICROSOFT VISUAL BASIC PROGRAMS TO ACCOMPANY

PROGRAMMING LOGIC AND DESIGN. 6th. Boston : Course Technology.

Rod Stephens. Start Here Fundamentals of Microsoft .NET Programming. California : O’Reilly

Media, Inc, 2011.

User Interface Design Basics. Retrieved January 15, 2012, fromhttp://www.usability.gov/what-and-

why/user-interface-design.html.

Diane Zak. (2012). CLEARY VISUAL BASIC PROGRAMMING WITH MICROSOFT VISUAL

BASIC 2012. 3rd. Boston : Course Technology.

Page 102: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 5

หวขอเนอหาประจาบท 5.1 ตวแปร

5.2 ชนดขอมลของตวแปร

5.3 การประกาศตวแปร

5.4 การตงชอตวแปร

5.5 คาคงท

5.6 ขอบเขตของตวแปร

5.7 การแปลงชนดขอมล

5.8 ตวดาเนนการ

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายความหมายของตวแปร คาคงท ไดถกตอง

2. อธบายชนดขอมลของตวแปรตาง ๆ ไดถกตอง

3. เขยนคาสงประกาศตวแปรไดถกตอง

4. อธบายขอบเขตของตวแปรไดถกตอง

5. อธบายการแปลงชนดขอมลไดถกตอง

6. อธบายตวดาเนนการและลาดบความสาคญไดถกตอง

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ พรอมยกตวอยางประกอบ

2. ศกษาจากเอกสารประกอบการสอน

3. ผสอนสรปเนอหา

4. ผเรยนถามขอสงสย

5. ผสอนทาการซกถาม

6. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 103: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

78

การวดและประเมนผล 1. สงเกตการณเขาชนเรยนและความสนใจขณะบรรยาย

2. มสวนรวมในการซกถามระหวางการบรรยาย

3. การตอบคาถามขณะทผสอนบรรยาย

4. การตรวจแบบฝกหด

Page 104: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 5 ตวแปรและตวดาเนนการ

การทางานของคอมพวเตอรตองใชหนวยความจาในการเกบขอมลเพอนามาดาเนนการบางอยางตามคาสงทผเขยนโปรแกรมกาหนด การเกบขอมลในทนหมายถงการเกบไวในหนวยความจาหลกชนด RAM ขอมลทจะเกบนนจะตองเกบลงในสงทเรยกวา ตวแปร และตวแปรทใชในโปรแกรมจะตองกาหนดชนดขอมลไวดวยวาตวแปรนสามารถเกบขอมลชนดใดได เชน ตวเลขจานวนเตม ตวเลขทศนยม หรอตวอกษร ขอมลตางชนดกนจะตองการเนอทหนวยความจาและวธจดการตางกนไป การเลอกชนดขอมลใหเหมาะสมกบตวแปรจะทาใหเขยนโปรแกรมไดอยางมประสทธภาพสงสด 5.1 ตวแปร (Variable)

ตวแปรคอสงทใชเกบคาบางอยางในขณะทโปรแกรมกาลงทางานตามกระบวนการทออกแบบไว(Bryan Newsome, 2012 : 44) โดยใชหนวยความจาภายในของคอมพวเตอรซงจะเกบชนด ขนาด และตาแหนงของตวแปรนน ๆ (Diane Zak, 2012 : 108) ตวแปรเปนสวนสาคญของการประมวลผลในโปรแกรมโดยทขอมลทเกบอาจเปนชนดตวเลข, ตวอกษร, วนท เปนตน (ROD STEPHENS, 2012 : 203) ตวอยางของการใชงานตวแปร เชนหากตองการคานวณภาษมลคาเพมของสนคาชนดหนง กตองเกบราคาสนคาและภาษมลคาเพมทคานวณไดไวในตวแปร ซงหมายถงตาแหนงในหนวยความจาทมชอและชนดขอมลทแนนอน โดยทคาของตวแปรสามารถถกเปลยนแปลงไดตลอดเวลาในโปรแกรม เชน กาหนดตวแปร Price เพอใชเกบราคาสนคา, ตวแปร Vat เพอใชเกบภาษมลคาเพมทไดจากการคานวณ โดย Vat = Price * 0.07 (7 เปอรเซนต) นนคอถาหากสนคามราคา 1,000 บาท จะไดภาษมลคาเพม 70 บาท เปนตน เนองจากขอมลทเครองสามารถประมวลผลไดมอยหลากหลายชนดดวยกน เชน ตวเลขจานวนเตม, จานวนจรง, อกขระ และวนท เปนตน ดงนนการกาหนดชนดขอมล (data type) ทเหมาะสมใหกบตวแปร จงนบเปนสงสาคญอยางยงทจะทาใหโปรแกรมของเราทางานไดอยางถกตองและมประสทธภาพ เพราะขอมลแตละชนดจะตองการหนวยความจาขนาดตางกนและลกษณะการทางานทตางกน (สรสทธ ควประสพศกด และนนทน แขวงโสภา, 2546 : 64) ดงนนตวแปรในโปรแกรมคอมพวเตอรกคอสงทสรางไวเกบคาหรอแทนคาตาง ๆ ในโปรแกรมและคาทอยในตวแปรนนสามารถเปลยนแปลงได

Page 105: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

80

5.2 ชนดขอมลของตวแปร

สวนทเลกทสดของขอมลคอมพวเตอรคอ บต (bit) ซงเปนคาเพยง 1 คาคอ 0 หรอ 1 และเมอจานวนบตมารวมกนจะเรยกวาเปนไบต (byte) คอมพวเตอรมกจะวดพนทดสกและพนทหนวยความจาเปนกโลไบต (1,024 ไบต) เมกะไบต (1,024 กโลไบต) และกกะไบต (1024 เมกะไบต) วธการเกบขอมลของ VB 2012 มรปแบบทแตกตางกนในการเกบขอมลแตละชนด เชน 4 ไบต เปนจานวนทจะใชเกบขอมลชนดจานวนเตม สามารถเกบคาไดระหวาง -2,147,483,648 และ 2,147,483,647 (Rod Stephens, 2012 : 204-205) ชนดขอมลใน Visual basic 2012 มดงน

ตารางท 5.1 แสดงชนดขอมลใน Visual Basic 2012 ทมา : (ปรบปรงจาก Rod Stephens, 2012 : 205) ชนดของขอมล ขนาด คาทเกบ

Boolean 2 bytes True or False Byte 1 byte 0 ถง 255 SByte 1 byte −128 to 127 Char 2 bytes มคาตงแต 0 ถง 65,535 Short 2 bytes −32,768 ถง 32,767 UShort 2 bytes 0 ถง 65,535 Integer 4 bytes -2,147,483,648 ถง 2,147,483,647 UInteger 4 bytes 0 ถง 4,294,967,295 Long 8 bytes −9,223,372,036,854,775,808 ถง9,223,372,036,854,775,807 ULong 8 bytes 0 ถง 18,446,744,073,709,551,615 Decimal

16 bytes

มคา +/-79,228,162,514,264,337,593,950,335 ในกรณไมมทศนยม และ +/-7.9228162512264337593543950335 ในกรณมทศนยม

Single

4 bytes

มคาตงแต -3.402823E38 ถง -1.401298E-45 สาหรบคาตดลบ และ 1.401298E-45 ถง 3.402823E38 สาหรบคาบวก

Double

8 bytes

-1.797693134862231E308 ถง -4.94065645841247E-324 สาหรบคาตดลบ และ 4.94065645841247 ถง 1.797693134862231E308 สาหรบคาบวก

String varies 0 ถง 2 พนลานอกขระ Unicode Date 8 bytes

มคาตงแตวนท 1 มกราคม ค.ศ. 0001 เวลา 0:0:00 ถงวนท 31 ธนวาคม ค.ศ. 9999 เวลา 11:59:59

Object 4 bytes เปนชนดขอมลพเศษทสามารถใชแทนชนดขอมลอน ๆไดทงหมด Structure varies โครงสรางตามจานวนสมาชก

Page 106: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

81

หมายเหต ตวอกษร E ในขอมลชนด Double และ Single หมายถงเลขยกกาลง เชน 123E6 หมายถง 123 x 10

6 = 123,000,000 เปนตน สรสทธ ควประสพศกด และนนทน แขวงโสภา (2546 : 65-67) ไดอธบายความหมายของชนดขอมลแตละประเภทไวดงน

5.2.1 ขอมลประเภทตวเลข (Numeric)

ขอมลประเภทตวเลขใน VB .NET มใหเลอกหลายชนด ขนอยกบงานทเราตองการ ขอมลแตละชนดจะใชเนอทหนวยความจะตางกนไป ซงจะมคาเรมตนเปน 0 เสมอ ดงรายละเอยดตอไปน

Byte เปนชนดขอมลประเภทตวเลขจานวนเตม ทมคาตงแต 0 ถง 255 ใชหนวยความจาเพยง 1 ไบต (8 บต) เทานน

Short เปนชนดขอมลประเภทตวเลขจานวนเตม ทมคาตงแต -32,768 ถง 32,767 ใชหนวยความจา 2 ไบต (16 บต)

Integer เปนชนดขอมลประเภทตวเลขจานวนเตม ทมคาตงแต -2,147,483,648 ถง 2,147,483,647 ใชหนวยความจา 4 ไบต (32 บต)

Long เปนชนดขอมลประเภทตวเลขจานวนเตมทมขนาดใหญมาก คอมคาไดตงแต -9,223,372,036,854,775,808 ถง 9,223,372,036,854,775,807 ใชหนวยความจา 8 ไบต (64 บต) Single เปนชนดขอมลประเภทตวเลขจานวนจรง (มทศนยมได) มคาตงแต -3.402823E38

ถง -1.401298E-45 สาหรบคาลบ และ 1.401298E-45 ถง 3.402823E38 สาหรบคาบวกใชหนวยความจา 4 ไบต (32 บต) เทากบ Integer

Double เปนชนดขอมลประเภทตวเลขจานวนจรงทมชวงคาและความแมนยาสงกวาชนด Single คอมคาตงแต -1.797693134862231E308 ถง -4.94065645841247 สาหรบคาลบ และตงแต 4.94065645841247 ถง 1.797693134862231E308 สาหรบคาบวก ใชหนวยความจา 8 ไบต (64 บต) เทากบ Long และ Decimal

Decimal เปนชนดขอมลประเภทตวเลขทสามารถเปนไดทงจานวนเตมและจานวนทศนยม ทมความละเอยดสงมาก คอมคา +/-79,228,162,514,264,337,593,950,335 ในกรณไมมทศนยม และ +/-7.9228162512264337593543950335 ในกรณมทศนยม ใชหนวยความจา 8 ไบต (64 บต) เทากบ Long และ Double

Page 107: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

82

5.2.2 ขอมลประเภทตรรกะ (Boolean)

Boolean ขอมลประเภทตรรกะใน VB.NET คอขอมลชนด Boolean ซงมไดเพยง 2 คาเทานนคอ True (จรง) หรอ False (เทจ) เราอาจนาขอมลประเภทนมาประยกตใชไดหลายรปแบบ เชน บอกเพศ (True = ชาย, False = หญง) เปนตน ขอมลชนด Boolean ใชหนวยความจา 2 ไบต โดยคาเรมตนของตวแปรชนด Boolean จะเปน False เสมอ

5.2.3 ขอมลประเภทอกขระ (Alphabetic)

ขอมลประเภทอกขระแบงออกไดเปน 2 ชนดหลกๆ ไดแกชนด Char และ String ดงตอไปน Char เปนชนดขอมลประเภทอกขระ 1 ตว ใชหนวยความจา 2 ไบต (อกขระแบบ Unicode) String เปนชนดขอมลประเภทอกขระหลายตว สงสดขนาด 2 พนลานตวอกษร (2

31) คาเรมตนของตวแปรชนด String จะเปน Nothing เสมอ

5.2.4 ขอมลประเภทวนท (Date)

Date เปนชนดขอมลทใชเกบขอมลประเภทวนท, เวลา โดยคาเรมตนของตวแปรชนด Date จะเปน 12:00:00 AM เสมอ

5.2.5 ขอมลประเภทอนๆ

Object เปนชนดขอมลประเภทพเศษทสามารถใชแทนตวแปรชนดอนๆได ทงชนดขอมลตวเลข, อกขระ, ตรรกะ เปนตน โดยมคาเรมตนเปน Nothing เสมอ

Structure เปนขอมลชนดพเศษทเราสามารถกาหนดขนมาใชงานเองได เชน ถาเราตองการกาหนดตวแปรเพอเกบขอมลของลกคา ซงประกอบดวยขอมลเกยวกบ ชอ, ทอย, เบอรโทรศพท และ อเมลแอดเดรส

5.3 การประกาศตวแปร

โปรแกรมคอมพวเตอรจะรจกตวแปรและใชงานตวแปรได ตองทาการประกาศตวแปร (variable declaration) กอน โดยตงชอและกาหนดชนดขอมลทเหมาะสมเพอเปนการจองพนทในหนวยความจาของคอมพวเตอรไวเพอเกบขอมล คาสงทใชในการประกาศตวแปรมรปแบบดงน

Page 108: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

83

รปแบบคาสง

Dim VariableName As DataType โดยท VariableName คอ ชอตวแปร DataType คอ ชนดของตวแปร ตวอยางคาสง Dim Count As Integer 'ประกาศตวแปรชอ Count ใหมชนดขอมลเปน Integer Dim Price As Double 'ประกาศตวแปรชอ Price ใหมชนดขอมลเปน Double Dim Vat As Double 'ประกาศตวแปรชอ vat ใหมชนดขอมลเปน Double Dim StudentName As String 'ประกาศตวแปรชอ CustName ใหมชนดขอมลเปน String

การใชงานขอมลชนด Date นจะใชเครองหมาย # แทน “ เมอตองการกาหนดคา เชน ตวอยางคาสง Dim TestDate As Date TestDate = #1/1/20012#

ตวอยางคาสง Structure Customer 'กาหนดขอมลชนด Customer (User Defined)

Public strName As String 'ประกอบดวยชอ Public strAddress As String 'ทอย Public strTel As String 'เบอรโทรศพท Public strEmail As String 'และอเมลแอดเดรส

End Structure 5.4 การตงชอตวแปร

VB 2012 สามารถตงชอตวแปรไดยาวถง 1,023 ตวอกษร ดงนนควรตงชอตวแปรใหสอความหมายเพอใหสามารถอานและแกไขโปรแกรมไดงาย เชน CustName, Price, Vat เปนตน การตงชอตวแปรทไมสอความหมายจะทาใหเกดปญหาในภายหลงในกรณทกลบมาแกไขโปรแกรม เพราะอาจทาใหสบสนวาตวแปรนน ๆ เกบคาของอะไร

5.4.1 หลกเกณฑในการตงชอตวแปร

1. ชอตวแปรตองขนตนดวยตวอกษรภาษาองกฤษหรอเครองหมายขดลาง ( _ ) เทานน 2. ตวถดไปจะเปนตวอกษรหรอตวเลขกได

Page 109: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

84

3. หามมชองวางระหวางคา หากชอตวแปรมมากกวา 1 คาใหเขยนตดกน โดยอาจใชตวอกษรตวแรกของแตละคาเปนตวพมพใหญเพอแบงแยกระหวางคาตวอยางเชน StudentName, BookPrice หรออาจใชเครองหมายขดลาง ( _ ) คนระหวางคา เชน student_name, Book_Price 4. หามตงชอตวแปรซ ากบคาสงวน (Reserved Word) ซงเปนคาสงท VB เกบไวใชงานเอง ตวแปรใน Visual Basic นไมสนใจตวอกษรใหญตวเลก (Non-Case Sensitive) นนคอ ถาตงชอตวแปร intAge, intage ทง 2 ชอ Visual Basic ถอวาเปนตวเดยวกนโดย Code Editor จะชวยแกไขใหตรงตามชอทประกาศไวเมอมการเรยกใชตวแปร ซงอาจแตกตางจากภาษาโปรแกรมคอมพวเตอรภาษาอนเชน ภาษา C ภาษา Java โดยภาษาทงสองนจะเปนการตงชอตวแปรแบบ Case Sensitive ถงแมวาชอตวแปรจะเปนชอเดยวกน แตใชตวอกษรพมพใหญ พมพเลกตางกนภาษาโปรแกรมเหลานกจะถอวาไมใชตวแปรเดยวกน Jo Ann Smith (2011 : 13) ไดกลาวถงวธการตงชอตวแปรใน VB อกวธหนงซงเปนทนยมใชกนอยางมากคอวธการตงชอทเรยกวา “Camel Case” ซงมขอกาหนดดงน

ตงชอตวแปรทประกอบไปดวยคาหลายคาแตหามมชองวางระหวางคา ตวอกษรตวแรกของชอตวแปรตองเปนอกษรตวเลก อกษรตวแรกของคาถดไปตองเปนตวใหญ

ตวอยางการตงชอตวแปรดวยวธ Camel Case เชน firstName, myAge, salePrice สจจะ จรสรงรววร (2549 : 52) ไดนาเสนอวธการตงชอตวแปรโดยการระบชนดของตวแปรไวในชอตวแปรทตงขนมาเลย โดยจะเปนตวยอของชอชนดขอมลนาหนาชอตวแปร (Prefix) ตารางท 5.2 แสดงการตงชอตวแปรดวยวธการระบตวยอชนดตวแปรทหนาชอตวแปร ทมา : (สจจะ จรสรงรววร 2549 : 52)

ชนดขอมล Prefix ตวอยางการตงชอตวแปร

Integer int intCounter Single sng sngTaxRate, sngPrice Double dbl dblFactor String str strStudentName

Decimal dec decMyCalc Boolean bln blnMember

Date dat datStart, datExpired

Page 110: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

85

5.4.2 การใชสญลกษณแทนชนดขอมล วธการประกาศตวแปรและกาหนดชนดขอมลอกวธหนงคอวธการใชสญลกษณกาหนดชนดขอมลของตวแปร โดย Visual Basic มสญลกษณใหใชดงน ตารางท 5.3 แสดงสญลกษณแทนชนดขอมลใน Visual Basic 2012 ทมา : (ปรบปรงจาก Rod Stephens, 2012 : 207) สญลกษณ ชนดขอมล

% Integer & Long @ Decimal ! Single # Double $ String ตวอยางการประกาศตวแปรและการกาหนดชนดขอมลใหกบตวแปร เชน ตวอยางคาสง Dim Count% 'ประกาศตวแปรชอ Count ใหมชนดขอมลเปน Integer Dim Price# 'ประกาศตวแปรชอ Price ใหมชนดขอมลเปน Double Dim Vat # 'ประกาศตวแปรชอ vat ใหมชนดขอมลเปน Double Dim StudentName$ 'ประกาศตวแปรชอ CustName ใหมชนดขอมลเปน String

ตวอยางการใชงาน Count = 10 Price = 80.50 StudentName = “ปณธ เมฆกมล”

แบบฝกหดท 5.1 ประกาศตวแปร

จากทไดศกษาเรองตวแปรและชนดขอมลในแบบฝกหดนเปนการฝกการประกาศตวแปรและชนดขอมล โดยใหสรางหนาจอโปรแกรมดงน

Page 111: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

86

รปท 5.1 หนาจอโปรแกรม

กาหนดคณสมบตของคอนโทรลตามตารางดานลาง ตารางท 5.4 แสดงการกาหนดคณสมบตของคอนโทรล

คอนโทรล คณสมบต คาทกาหนด Textbox1 Name txtInPut1 Textbox2 Name txtInPut2 Textbox3 Name txtInPut3 Button1 Text แสดงผล

ดบเบลคลกทคอนโทรล Button1 และเขยนคาสงดงน Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim intInput1 As Integer Dim sngInput2 As Single Dim strInput3 As String intInput1 = txtInput1.Text sngInput2 = txtInput2.Text strInput3 = txtInput3.Text MessageBox.Show(intInput1 & Chr(13) & sngInput2 & Chr(13) & strInput3) End Sub

TextBox1

TextBox2

TextBox3

Button1

Page 112: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

87

จากคาสงทอยในคอนโทรล Button1 สามารถอธบายคาสงไดคอ ตารางท 5.5 อธบายความหมายของแตละคาสงใน Button1

คาสง ความหมาย

Dim intInput1 As Integer ประกาศตวแปรชอ intInput1 โดยเกบขอมลชนดจานวนเตม Dim sngInput2 As Single ประกาศตวแปรชอ sngInput2 โดยเกบขอมลชนดจานวนมทศนยม Dim strInput3 As String ประกาศตวแปรชอ strInput3 โดยเกบขอมลชนดตวอกษร intInput1 = txtInput1.Text ใหตวแปร intInput1 มคาเทากบคาทปอนเขาไปใน Textbox ทชอ txtInput1 sngInput2 = txtInput2.Text ใหตวแปร sngInput2 มคาเทากบคาทปอนเขาไปใน Textbox ทชอ txtInput2 strInput3 = txtInput3.Text ใหตวแปร strInput3 มคาเทากบคาทปอนเขาไปใน Textbox ทชอ txtInput3 MessageBox.Show(intInput1 & Chr(13) & sngInput2 & Chr(13) & strInput3) ใหแสดงคาทอยในตวแปร intInput1, sngInput2, strInput3 คาสง Chr(13) หมายถง การขนบรรทดใหม

ทดลองรนโปรแกรมและปอนคาทง 3 คาลงใน Textbox แลวคลกทปม

รปท 5.2 แสดงการปอนคาลงใน Text Box

เมอคลกทปม จะมกลองขอความแสดงคาทอยในตวแปรทง 3 ตวทประกาศไว

รปท 5.3 แสดงผลลพธของโปรแกรม

Page 113: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

88

เพอเพมความเขาใจในเรองชนดของตวแปรใหทดลองปอนคาลงใน TextBox ดงรปดานลาง

รปท 5.4 แสดงการปอนคาลงใน Text Box

จากรปดานบน จะเปนวาคาท 1 ทปอนเขาไปเปนตวเลขทศนยมแตเมอแสดงคาจากตวแปรออกมาจะไมททศนยมทเปนเชนนเพราะตวแปร intInput1 กาหนดชนดขอมลเปนจานวนเตมจงไมสามารถเกบจานวนทศนยมได สวนคาท 3 ทปอนเขาไปถงจะปอนเปนตวเลขแตในการเกบคาจรง ๆ แลว จะเปนตวอกษรเพราะตวแปร strInput3 กาหนดชนดขอมลเปนตวอกษร ทดสอบการปอนคาใน Text Box ใหมโดยปอนตวอกษรลงไปใน TextBox ตวท 1

รปท 5.5 แสดงผลลพธเมอปอนคาผดชนดลงในตวแปร

จากการทดสอบปอนขอมลในแบบท 3 จะพบวาโปรแกรมจะ Error และแจงขอผดพลาดในตวแปรท 1 เนองจากขอมลทปอนเขาไปเปนตวอกษร ตวแปรชนดทเปนตวเลขไมสามารถเกบขอมลได เหตการณนสามารถปองกนไดโดยการใชคาสงแปลงชนดขอมลซงผเขยนจะกลาวตอไป

5.5 คาคงท (Constant)

ตวแปรทใชเกบคาบางอยางในโปรแกรมอาจไมมการเปลยนแปลงคาใด ๆ เลยตลอดโปรแกรม เชน อตราภาษมลคาเพม หรอคาคงททางคณตศาสตร เชนคา pi (ประมาณ 3.14) การเขยนโปรแกรมโดยกาหนดคาเหลานลงไปเลยในโปรแกรม (ทเรยกวา hard code) อาจกอใหเกดปญหาไดในระยะยาว เชนหากตองการเปลยนแปลงคาคงทดงกลาว ตองแกไขทกๆจดของโปรแกรมทใชคานน ซงทาใหเกดความยงยากในการแกไขโปรแกรม ยงไปกวานนถาแกไขไมครบถวน โปรแกรมของเรากอาจทางานผดพลาดได ในทาง

Page 114: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

89

กลบกนการนาเอาตวแปรมาใชเกบคาทไมเปลยนแปลงเลยตลอดการทางานของโปรแกรมเชนน กนบเปนการสนเปลองหนวยความจาโดยใชเหต(สรสทธ ควประสพศกด และนนทน แขวงโสภา, 2546 : หนา 75) ดงนนการนาเอาคาคงท (Constant) มาใชเกบคาทไมมการเปลยนแปลงตลอดโปรแกรม จะชวยใหเขยนและดแลรกษาโปรแกรมไดงายขน การประกาศคาคงทมรปแบบดงน รปแบบคาสง

Const constantname As Datatype = initialize โดยท ConStantname คอ ชอของคาคงท Datatype คอ ชนดขอมล Initialize คอ คาทกาหนดใหคาคงท ตวอยางการกาหนดคาคงท ตวอยางคาสง Const maximum As Long = 459 Public Const helpString As String = "HELP" Private Const startValue As Integer = 5 5.6 ขอบเขตของตวแปร

ตวแปรทสรางขนมาจะมขอบเขตในการใชงานในแตละสวนของโปรแกรม ยกตวอยางเชนถาประกาศตวแปรไวทซบรทนของโปรแกรม (Private Sub…End Sub) คาสงทอยในซบรทนนกจะใชงานตวแปรนได แตซบรทนอนจะไมสามารถใชงานตวแปรนได ขอบเขตของตวแปรในเบองตนมอย 3 ระดบ คอ Block, Procedurec และ Module (Stephens Rod, 2012 : 233) 5.6.1 ขอบเขตตวแปรในระดบบลอค (Block Scope)

บลอกหมายถงชดของคาสงทอยในโครงสรางโปรแกรมหนง ๆ เชนโครงสราง If, Loop เปนตน ถาประการตวแปรในบลอกของโครงสรางน คาสงทอยในบลอกจะสามารถใชงานตวแปรนได ดงตวอยางคาสงดานลาง For i As Integer = 1 To 5

Dim j As Integer = 3 If i = j Then

Dim M As Integer = i + j Debug.WriteLine(“M: “ & M)

Else Dim N As Integer = i * j

Page 115: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

90

Debug.WriteLine(“N: “ & N) End If Dim k As Integer = 123 Debug.WriteLine(“k: “ & k)

Next i จากคาสงดานบนเปนโครงสราง For Loop จะเหนวามการประกาศตวแปร i ไว ดงนนคาสงทอยในโครงสรางน (For…Next) จะใชงานตวแปร i ได แตคาสงทอยนอกโครงสรางนจะไมสามารถใชตวแปร i ได ในโครงสราง for จะเหนวามการประกาศตวแปร j ซงตวแปรนสามารถใชงานไดลปได และเมอตรวจสอบเงอนไขพบวา i=j ตวแปร M จะถกสรางเพอและใชงานไดเฉพาะในบลอกของ If … Else

5.6.2 ขอบเขตตวแปรในระดบโพรซเยอร (Prodedure Scope)

การประกาศตวแปรในซบรทน, ฟงกชน หรอโปรแกรมยอยอน ๆ ทไมไดประกาศในระดบบลอคตวแปรนนจะสามารถใชงานไดในซบรทนหรอโปรแกรมยอยเทานน จะไมสามารถใชงานขามโปรแกรมซบรทนหรอโปรแกรมยอยอน ๆ ได (ยกเวนประกาศเปนชนด Public แตตองเรยกใชซบรทนหรอโปรแกรมยอยนนกอน) 5.6.3 ขอบเขตตวแปรในระดบโมดล (Module Scope)

ตวแปรทประกาศในระดบโมดลจะสามารถทางานไดในทกสวนของโปรแกรมทอยในโมดลนน ไมวาจะเปนซบรทน, ฟงกชน, โปรแกรมยอยอน ๆ หรอแมกระทงบลอก

5.7 การแปลงชนดขอมล

การนาขอมลไปคานวณหรอไปใชงานในโปรแกรมนน ในบางครงชนดขอมลทไดจากผใชหรอจากโปรแกรมทประมวลผลอาจไมตรงกบความตองการ ยกตวอยางเชน ตวแปรตวหนงเกบคาจานวนตวเลขทศนยมแตผลลพธทตองการใหแสดงเปนตวเลขจานวนเตม กตองมการแปลงขอมลจากทศนยมเปนตวเลขจานวนเตมเสยกอน

5.7.1 การแปลงชนดขอมลแบบ Implicit Type Converion

วธนเปนการแปลงชนดขอมลโดยอตโนมต วธการกคอ นาขอมลไปประมวลผลในคาสงเดยวกน หรอกาหนดผาน Assignment Operator ไปเลย ซงเราจะใชแปลงขอมลทเปนประเภทเดยวกนเชน ตวเลขเหมอนกนหรอเปนตวอกษรเหมอนกน เปนตน Implicit Conversion จะทางานไดถกตองกตอเมอ แปลงขอมลจากชนดทใชพนทเกบขนาดใหญไปสชนดทใชพนทเกบเลก ( ซงเรยกวา Narrowing Conversion ) ตวอยางเชน

Page 116: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

91

Dim Salary As Single Salary = Textbox1.Text จากคาสงขางตนคอการนาขอมลจากเทกซบอกซซงเปนขอมลชนดตวอกษร (String) (ขอมลในเทกซบอกซเปนชนดสตรงเสมอถงแมผใชจะปอนตวเลขเขามากตาม) ไปกาหนดใหตวแปรชนด Single ซง Visual Basic จะแปลงขอมล String ไปเปน Single ใหอตโนมต เพอใหสามารถกาหนดคาลงในแปรได

5.7.2 การแปลงชนดขอมลดวย Type Conversion Funtions

เปนวธแปลงขอมลใหเปนชนดขอมลทตองการได โดยใชฟงกชน CType เปนฟงกชนทตองระบชนดขอมลทตองการไวดวย มฟงกชนใหเรยกใชตามตารางดานลางคอ ตารางท 5.6 แสดงฟงกชน CType ทใชแปลงชนดขอมล

ฟงกชน รปแบบ คาอธบาย CBool CBool(expression) แปลงขอมลนนใหอยในชนด Boolean CByte CByte(expression) แปลงขอมลนนใหอยในชนด Byte CChar CChar(expression) แปลงขอมลนนใหอยในชนด Char CDate CDate(expression) แปลงขอมลนนใหอยในชนด Date (วนเดอนป) CDbl CDbl(expression) แปลงขอมลนนใหอยในชนด Double (เลขทศนยม) CDec CDec(expression) แปลงขอมลนนใหอยในชนด Decimal (เลขฐานสบ) Clnt Clnt(expression) แปลงขอมลนนใหอยในชนด Integer Clng Clng(expression) แปลงขอมลนนใหอยในชนด Long Integer Cobj Cobj(expression) แปลงขอมลนนใหอยในชนด Object CSByte CSByte(expression) แปลงขอมลนนใหอยในชนด SByte CShort CShort(expression) แปลงขอมลนนใหอยในชนด Short CSng CSng(expression) แปลงขอมลนนใหอยในชนด Single (เลขทศนยม) CStr CStr(expression) แปลงขอมลนนใหอยในชนด String CUInt CUInt(expression) แปลงขอมลนนใหอยในชนด UInteger CULng CULng(expression) แปลงขอมลนนใหอยในชนด ULong CUShort CUShort(expression) แปลงขอมลนนใหอยในชนด UShort

Page 117: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

92

ตวอยางเชน Dim Salary As Single Salary = CSng(Textbox1.Text)

5.8 ตวดาเนนการ

เมอมตวแปรสาหรบเกบขอมลชนดตางๆแลว หลงจากนนเราอาจตองการนาขอมลในตวแปรตางๆ มาดาเนนการ (Operate) กน เชน นาขอมลชนดตวเลขจานวนมาบวก ลบ คณ หารกน หรอนาสตรง 2 ชด มาเชอมตอกนเปนสตรงชดเดยวกน ฯลฯ สญลกษณทใชดาเนนการกบขอมล เรยกวา ตวดาเนนการ หรอโอเปอเรเตอร (OPerator)

5.8.1 ตวดาเนนการทางคณตศาสตร

ตารางตอไปนแสดงตวดาเนนการทางคณตศาสตร (Arithmetic Operators) ตารางท 5.7 แสดงตวดาเนนการทางคณตศาสตร

ชอตวดาเนนการ และเครองหมาย

ตวอยาง คาอธบาย

Addition + num1 + num2 บวก Subtraction − num1 − num2 ลบ

Multiplication * num1 * num2 คณ Integer Division \ 15\2 หารเลขจานวนเตมตดเศษทง จากตวอยางผลลพธคอ 7

Division / 15/2 หาร จากตวอยางผลลพธคอ 7.5 Modulus MOD hours MOD 24 หารเอาเศษ จากตวอยางจะมผลลพธเปน 1 ถา hours มคา 25

Negation − −(num1− num2) ตดลบ ถา num1 − num2 เปน 10 แลว −(num1 − num2) จะเทากบ -10

Exponentiation ^ 2 ^ 3 ยกกาลง จากตวอยางผลลพธคอ 8

5.8.2 ตวดาเนนการกาหนดคา

โดยปกตแลวการกาหนดคาใหกบตวแปรหรอขอมลใด ๆ จะใชเครองหมาย = แตในกลมของตวดาเนนการกาหนดคา ยงมตวดาเนนการอนๆ อกนอกเหนอจากตวดาเนนการตวดาเนนการเหลานใหเขยนคาสงไดงายขน เชน แทนทจะตองเขยนวา Resiult = Result + 8 ซงเปนการนาคาของตวแปร Result มาบวกกบ 8 แลวเกบผลลพธไวในตวแปร Result ตามเดมกสามารถเขยนใหมโดยใชตวดาเนนการ += (Addition Assignment Operator) แทนไดดงน Result += 8

Page 118: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

93

ตวดาเนนงาน += จะนาคาของตวถกดาเนนการทางขวา (ในทนคอ 8) บวกเพมเขาไปในตวถกดาเนนการทางซาย ซงจะตองเปนตวแปรหรอพรอพเพอรตเทานน (ในทนคอตวแปร Result ) ตวดาเนนการเกอบทงหมดใน Visual Basic ทตองการตวถกดาเนนการ 2 ตว (Binary Operator) จะมตวดาเนนการในลกษณะทกาหนดคาไปพรอมกนแบบเดยวกบ += ดวย ดงตาราง ตารางท 5.8 แสดงตวดาเนนการกาหนดคา

ตวดาเนนการ ตวอยาง ความหมาย + = Result =Result += 8 Result =Result + 8 -= Result =Result -= 5 Result =Result - 5 *= Result =Result *=2 Result =Result *2 /= Result =Result / =4 Result =Result / 4 \= Result =Result \= 3 Result =Result \ 3 ^= Result =Result ^=2 Result =Result ^2

5.8.3 ลาดบความสาคญของตวดาเนนการ

Visual Basic จะพจารณาตามลาดบความสาคญของตวดาเนนการ (Operator Precedence) ตารางตอไปนแสดงลาดบความสาคญของตวดาเนนการจากสง (ถกดาเนนการกอน) ไปหาตา (ถกดาเนนการทหลง) ลาดบความสาคญของตวดาเนนการทางคณตศาสตรแสดงไดดงตารางท 5... ตารางท 5.9 แสดงลาดบความสาคญของตวดาเนนการ

ชอตวดาเนนการ สญลกษณ ลาดบความสาคญ

Parentheses () 1 Exponentiation ^ 2 Negation − 3 Multiplication and division

* / 4

Integer division \ 5 Modulus MOD MOD 6 Addition and subtraction

+ − 7

Assignment = += −= *= /= \= ^=

8

ตวอยางเชน การคานวณจากสมการ 2+5*3 จะไดผลลพธคอ 17 ทไดเชนนเพราะวาโปรแกรมจะทาการคานวณ 5*3 กอนเนองจากเครองหมาย * มลาดบความสาคญของตวดาเนนการมากกวาเครองหมาย +

Page 119: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

94

ถาตองการจะใหไดผลลพธเปน 21 จะตองปรบสมการเปน (2+5)*3 สรป

ตวแปรในโปรแกรมคอมพวเตอรกคอสงทสรางไวเกบคาหรอแทนคาตาง ๆ ในโปรแกรมและคาทอยในตวแปรนนสามารถเปลยนแปลงได

ชนดขอมลของตวแปรมทงเปนชนดตวเลข, ตรรกะ, อกขระ, วนท, ออบเจกต โปรแกรมคอมพวเตอรจะรจกตวแปรและใชงานตวแปรได ตองทาการประกาศตวแปร (variable

declaration) กอน โดยตงชอและกาหนดชนดขอมลทเหมาะสมเพอเปนการจองพนทในหนวยความจาของคอมพวเตอรไวเพอเกบขอมล

คาคงทคอ ตวแปรทใชเกบคาบางอยางในโปรแกรมอาจไมมการเปลยนแปลงคาใด ๆ เลยตลอดโปรแกรม

ตวแปรมขอบเขตอย 3 ระดบคอ ระดบบลอก, ระดบโพรซเยอร, ระดบโมดล การแปลงชนดขอมลทาทงไดแบบ Implicit Type Converion และ Type Conversion Funtions ในการคานวณทางคณตศาสตรตองจดลาดบความสาคญของตวดาเนนการดวย

Page 120: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

95

แบบฝกหด

1. ตวแปรคออะไร และมความสาคญอยางไร 2. ใหทาเครองหมายถกเมอเหนวาการตงชอตวแปรนนถกหรอเครองหมายผดเมอเหนวาการตงชอตวแปรนนผด

myAge this_is_a_var NUMBER yourAge number $number Single 1number intNum May25 number Two Number

3. ควรใชชนดขอมลใด (Integer, Double, or String) ในการกาหนดชนดขอมลใหตวแปรตอไปน 3.1 ความสงของพนกงานมหนวยเปนเซนตเมตร ชนดขอมลทใชคอ____________ 3.2 ดอกเบยของเงนยม เชน 10 % ของเงนยม ชนดขอมลทใชคอ____________ 3.3 ราคาของสนคา ชนดขอมลทใชคอ____________

3.4 ชอลกคา ชนดขอมลทใชคอ____________ 3.5 จานวนลกคาในบรษท ชนดขอมลทใชคอ____________

4. เขยนคาสงประกาศตวแปรและตงชอตวแปรตอไปน 4.1 ประกาศตวแปรทใชเกบคาจานวนสนคา (1-1000) 4.2 ประกาศตวแปรทใชเกบคาราคาสนคา 4.3 ประกาศตวแปรทใชเกบคาชอลกคา

5. เขยนคาสงประกาศคาคงทตอไปน 5.1 คาลางรถราคา 400 บาท 5.2 จานวนภาษมลคาเพม 7% 5.3 ลกคาชอ ปณธ

6. ขอบเขตของตวแปรมกระดบ แตละระดบทางานอยางไร 7. ทาไมตองแปลงชนดขอมล

Page 121: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

96

.เอกสารอางอง

สรสทธ ควประสพศกด และนนทน แขวงโสภา. (2546). อนไซด Visual Basic .Net ฉบบสมบรณ. กรงเทพมหานคร : บรษท โปรวชน จากด. สจจะ สรสรงรววร. (2549). คมอ Visual Basic 2005 ฉบบสมบรณ. นนทบร : ไอดซฯ, 2549. Jo Ann Smith. (2011). MICROSOFT VISUAL BASIC PROGRAMS TO ACCOMPANY

PROGRAMMING LOGIC AND DESIGN. 6th. Boston : Course Technology. Rod Stephens. (2012). Visual Basic 2012 PROGRAMMER’S REFERENCE. Indianapolis : John Wiley & Sons, Inc.

Page 122: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 6 หวขอเนอหาประจาบท 6.1 โครงสรางแบบลาดบ (Sequence Structure)

6.2 การกาหนดคาใหกบตวแปร

6.3 การแปลงขอมลดวยฟงกชน Val (Val Function)

6.4 การใชงาน Message Box

6.5 การใชงาน Input Box

6.6 คาสงปดฟอรม

6.7 การจดรปแบบผลลพธทเปนตวเลข

6.8 การปองกนความผดพลาด (Error) ของโปรแกรมจากการไมไดปอนขอมล

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายการทางานโครงสรางแบบลาดบไดถกตอง

2. กาหนดคาใหตวแปรไดไดถกตอง

3. แปลงขอมลดวยฟงกชน Val ไดถกตอง

4. ใชงาน Message Box ไดถกตอง

5. ใชงาน Input Box ไดถกตอง

6. จดรปแบบผลลพธทเปนตวเลขไดถกตอง

7. เขยนโปรแกรมดวยโครงสรางแบบลาดบและปองกนความผดพลาดของโปรแกรมได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 123: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

98

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 124: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 6 โครงสรางการเขยนโปรแกรมแบบลาดบ

และการเขยนโปรแกรมคอมพวเตอรเบองตน

โปรแกรมคอมพวเตอรทงหมดไมวาโปรแกรมทงายหรอโปรแกรมทซบซอนจะใชโครงสรางการเขยนโปรแกรมอยางนอยหนงโครงสรางจากทงหมดสามโครงสราง ซงโครงสรางทงสามนประกอบไปดวย โครงสรางแบบลาดบ โครงสรางแบบเลอกทา และโครงสรางแบบทาซ า โครงสรางเหลานจะเรยกวา โครงสรางควบคม (Control Structure) หรอ โครงสรางตรรกะ (Logic Structure) โครงสรางเหลานจะเปนโครงสรางทควบคมการไหลของตรรกะของโปรแกรม

6.1 โครงสรางแบบลาดบ (Sequence Structure)

โครงสรางแบบลาดบเปนโครงสรางททาความเขาใจไดงายทสด โดยโปรแกรมจะทาการตามขนตอนแรกไปจนถงขนตอนสดทายตามลาดบ หรออธบายอกอยางหนงไดวาจะทางานจากคาสงบรรทดแรกไปจนถงคาสงบรรทดสดทาย โครงสรางแบบลาดบเปนโครงสรางพนฐานทมอยในทก ๆ โปรแกรมคอมพวเตอร

รปท 6.1 แสดงผงการทางานของโครงสรางแบบลาดบ

ตวอยางท 6.1 ตวอยางคาสงของการเขยนโปรแกรมดวยโครงสรางแบบลาดบ โปรแกรมแปลงคาองศาฟาเรนไฮเปนองศาเซลเซยส

Module Temperature

Sub Main()

Dim fahrenheitString As String

Dim fahrenheit As Double

Dim celsius As Double

คาสงท 1

คาสงท 2

คาสงท n

Page 125: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

100

fahrenheitString = InputBox$( "Enter Fahrenheit temperature: ")

fahrenheit = Convert.ToDouble(fahrenheitString)

celsius = (fahrenheit − 32) * (5/9)

System.Console.WriteLine("Fahrenheit temperature:" & fahrenheit)

System.Console.WriteLine("Celsius temperature:" & celsius)

End Sub

End Module

จากตวอยางโปรแกรมแปลงคาองศาฟาเรนไฮเปนองศาเซลเซยสขางตน เปนการเขยนโปรแกรมแบบลาดบซงกคอโปรแกรมจะทาคาสงแรกไปจนถงคาสงสดทาย เมอโปรแกรมทางานคาสงแรกของโปรแกรมทจะทางานคอ

fahrenheitString = InputBox$( "Enter Fahrenheit temperature: ")

จากคาสงนโปรแกรมจะแสดงกลองสาหรบรบขอมลจากผใช และเมอผใชปอนขอมลแลวคาสงตอไปทคอ

fahrenheit = Convert.ToDouble(fahrenheitString

คาสงนจะเปนการแปลงคาขอมลทผใชปอนเขามาใหเปนขอมลชนด Double แลวนาไปเกบไวทตวแปร Fahrenheit ขนตอนท 3 ทโปรแกรมจะทากคอคาสงบรรทดท 3

celsius = (fahrenheit − 32.0) * (5.0/9.0)

เปนการแปลงคาจากฟาเรนไฮตเปนองศาเซลเซยส โดยการคานวณจากคาทอยในตวแปร Fahrenheit

นามาลบดวย 32 จากนนคานวณหาคา 5/9 แลวนาคาทคานวณไดทงสองตวมาคณกนแลวเกบผลการคานวณไวทตวแปร celsius

System.Console.WriteLine("Fahrenheit temperature:" & fahrenheit)

System.Console.WriteLine("Celsius temperature:" & celsius)

สวนคาสงสองบรรทดสดทายจะเปนการแสดงผลลพธของโปรแกรม ผลลพธทแสดงออกมาจะแสดงคาขององศาฟาเรนไฮตและองศาเซลเซยสตามลาดบ

จากการศกษาตวอยางโปรแกรมโครงสรางแบบลาดบจากตวอยางทผานมา ในขนตอไปกจะเปนการศกษาเรองคาสงตาง ๆ ทใชในการเขยนโปรแกรมแตกอนอนนน ผเขยนจะนาเสนอการใชงานคาสงพนฐานและการใชงานฟงกชนในเบองตนกอนเพอทจะนาไปประยกตใชในการเขยนโปรแกรมตอไปได

Page 126: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

101

6.2 การกาหนดคาใหกบตวแปร

จากทไดอธบายเรองของตวแปรไปแลวในบทท 5 นนการทตวแปรจะมคาไดกจะมาจากการกาหนดคาใหกบตวแปรซงอาจกาหนดโดยคาสงในโปรแกรมหรอรบคามาจากผใชเลยกได ลองศกษาจากตวอยางดานลางตอไปน

ตวอยางคาสง

sngVat = 0.07 ‘กาหนดคาตวแปร sngVat ใหมคา = 7

vSalary = TextBox1.Text ‘กาหนดใหตวแปร vSalary มคาเทากบขอความทอยใน Textbox1

X = X+1 ‘กาหนดใหตวแปร X มคาเทากบคาเดมบวกเขาไปอก 1 เชน X มคา 5 จากคาสง X=X+1 แลว X จะมคาเปน 6

6.3 การแปลงขอมลดวยฟงกชน Val (Val Function)

การปอนขอมลลงในเทกซบอกสามารถปอนไดหลายประเภทเชน ตวเลข ตวอกษร หรออกขระพเศษ เชน เครองหมาย $, ฿ หรอ % ขอมลทปอนลงไปในเทกซบอกนนถกเกบไวใน Properties Text ซงหมายความวาขอมลนนจะเปนตวอกษรถงแมวาจะปอนเปนตวเลขกตาม ดงนนเมอตองการนาคาทปอนลงไปในเทกซบอกมาคานวณตองแปลงคาจากตวอกษรใหเปนขอมลชนดตวเลขกอนโดยสามารถใชฟงกชนมโปรแกรม Visual Basic 2012 เตรยมไวใหน นกคอ ฟงกชน Val (Val Funtion)

รปแบบคาสง

Val(Text)

โดยท

Text คอขอความทตองการแปลงเปนตวเลข

ฟงกชน Val จะทาการแปลงขอมลมาเปนตวเลข คาทจะไดนนขอมลทปอนเขาไปตองเปนตวเลขเทานนฟงกชนจงจะทาหนาทไดอยางสมบรณ แตถาในขณะทฟงกชนกาลงทาการแปลงถาพบอกขระพเศษหรอตวอกษรทไมใชตวเลขอยจะหยดทาการแปลงทนท

ตวอยาง เ ชน การแปลงขอมลจากเทกซบอกท ช อ txtPrice โดยใชฟงกชนมคาส ง คอ Val(txtPrice.Text) ผลลพธทไดเมอทดสอบปอนขอมลในรปแบบตาง ๆ จะไดตารางท 6.1

Page 127: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

102

ตารางท 6.1 แสดงตวอยางการแปลงขอมลดวยฟงกชน Val

ขอมลทปอนลงใน txtPrice ขอมลทฟงกชน Val แปลงได

123 123

45,200 45

฿35.56 0

ปณธ 0

ชองวาง (ไมปอนขอมล ) 0

ตวอยางท 6.2 ทดสอบการแปลงขอมลดวยฟงกชน Val

สรางหนาจอโปรแกรมตามรปดานลาง

รปท 6.2 หนาจอโปรแกรมทดสอบการแปลงขอมล

ตารางท 6.2 แสดงคอนโทรลและคณสมบตของคอนโทรล

คอนโทรล คณสมบต คาทกาหนด

TextBox1 Name TextBox1

TextBox2 Name TextBox2

TextBox3 Name TextBox3

Button Name Button1

Text ทดสอบ

เมอสรางคอนโทรลแลวขนตอไปจะเปนเขยนคาสงโปรแกรม โดยโปรแกรมทจะเปนการหาผลลพธของการบวกคาสองคาทอยในคอนโทรล Textbox1 กบ TextBox2 แลวนาผลลพธมาแสดงท TextBox3 โปรแกรมจะทาคาสงเมอมการคลกทปม Button1 ดงนนใหดบเบลคลกทแลวเขยนคาสงดงน

TextBox1

TextBox2

TextBox3

Button1

Page 128: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

103

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

TextBox3.Text = TextBox1.Text + TextBox2.Text

End Sub

ทดสอบโปรแกรมดวยการปอนตวเลขเขาไปท Textbox1 และ Textbox2 แลวคลกทปมผลลพธจะแสดงท TextBox3

รปท 6.3 แสดงผลลพธของโปรแกรม

จากผลลพธททดสอบจากดานบนจะพบวาเมอปอนตวเลขเขาไปท TextBox ทงสองตวผลลพธทไดจะเปนการนาตวเลขมาตอกน เหตทเปนเชนนเพราะ TextBox จะเกบขอมลเปนชนดตวอกษรถงแมวาจะปอนเปนตวเลขกตาม เมอนาตวอกษรมาบวกกนในความหมายของโปรแกรมคอมพวเตอรกคอการนาตวอกษรมาเชอมตอเขาดวยกนนนเอง

ขนตอไปเปนการทดสอบการใชงานฟงกชน Val ดวยการปรบคาสงท Button1 ดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)

End Sub

ทดสอบโปรแกรมดวยการปอนตวเลขเขาไปท Textbox1 และ Textbox2 แลวคลกทปมผลลพธจะแสดงท TextBox3

Page 129: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

104

รปท 6.4 แสดงผลลพธของโปรแกรมเมอใชฟงกชน Val

จากผลลพธททดสอบจากดานบนจะพบวาเมอปอนตวเลขเขาไปท TextBox ทงสองตวผลลพธทไดจะเปนผลรวมของตวเลขทงสองตวเพราะเมอใชฟงกชน Val จะทาการแปลงขอมลใหเปนตวเลขเสยกอนแลวจงนามาบวกกน

6.4 การใชงาน Message Box

Message Box เปนฟอรมชนดหนงทใชโตตอบกบผใชงาน เชน การแสดงขอความแจงเตอน การแสดงขอความในลกษณะยนยนการทางานและมตวเลอกใหกาหนดรปแบบตาง ๆ ได ยกตวอยางเชนเมอพมพงานในโปรแกรม Microsoft Word แลวปดโปรแกรมโดยทยงไมไดบนทกจะมกลองขอความแสดงขนมาเพอแจงเตอนใหผใชบนทกขอมลกอน

รปท 6.5 แสดงตวอยางของ Message Box

รปแบบคาสง

MessageBox.Show (Text, Caption, Button, Icon)

โดยท

- Text เปนขอความทแสดงบน MessageBox

- Caption เปนขอความทแสดงบน Title ของ MessageBox

- Button เปนปมทจะใหแสดงบน MessageBox

Page 130: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

105

- Icon เปนไอคอนทใหแสดงบน MessageBox

ตวอยางคาสง

MessageBox.Show("ขอความทแสดง", "ไตเตล", MessageBoxButtons.OK, MessageBoxIcon.Information)

รปท 6.6แสดงตวอยาง MessageBox จากคาสง

รปแบบของปมทมใหเลอกใชของ Message Box มดงน

ตารางท 6.3 แสดงรปแบบของปมของ MessageBox

ปมทแสดง ชอ

AbortRetryIgnore

OKOnly

OKCancel

RetryCancel

YesNo

YesNoCancel

รปแบบของไอคอนทมใหเลอกใชของ MessageBox มดงน

ตารางท 6.4 แสดงรปแบบไอคอนทมใหเลอกใชใน MessageBox

ไอคอน ชอ

Asterisk

Information

Error

Hand

Stop

Exclamation

Warning

Question

Page 131: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

106

ตวอยางท 6.3 การใชงาน Message Box

1. สรางโปรเจกตใหมและวางคอนโทรล Button บนฟอรม

รปท 6.7 แสดงการวางคอนโทรล

2. ดบเบลคลกท Button1 แลวเขยนคาสงดงน

รปท 6.8 แสดงคาสงการใช Message Box

3. ทดลองรนโปรแกรมแลวคลกทปมคาสง

รปท 6.9 แสดงผลลพธของ Message Box

6.5 การใชงาน InputBox

InputPut เปนฟงกชนหนงท VB 2012 เตรยมไวใหผเขยนโปรแกรมเรยกใชงาน มลกษณะคลายกบ

MessageBox กคอจะเปนกลองขอความแสดงขนมาแตทแตกตางคอ InputBox สามารถรบขอมลจากการปอนของผใชไดซงจะนาไปใชงานในสวนอนๆของโปรแกรมตอไป

Page 132: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

107

รปท 6.10 แสดง Input Box

มรปแบบคาสงคอ

รปแบบคาสง

VariableName = InputBox (Prompt ,[Title], [Default],[xPos],[yPos])

โดยท

VariableName เปนตวแปรทใชเกบขอมลทปอนเขามาจาก Input Box

Prompt เปนขอความทปรากฏใน InputBax ซงมกจะเปนคาอธบาย

ถงขอมลทตองการใหผใชงานกรอกเขามา

Title เปนขอความทแสดงบน Title ของ MessageBox (กาหนดหรอไมกได)

Default คาเรมตนทแสดงในชองปอนขอมลเมอ (กาหนดหรอไมกได)

xPos, yPos เปนพกดทใหแสดง InputBox ในหนาจอ (กาหนดหรอไมกได)

ตวอยางท 6.2 การใชงาน InputBox

1. สรางโปรเจกตใหมและวางคอนโทรล Button บนฟอรม

รปท 6.11 แสดงการวางคอนโทรล

2. ดบเบลคลกท Button1 แลวเขยนคาสงดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim vUserName As String

vUserName = InputBox("กรณาปอนชอผใช", "เขาใชงาน")

MessageBox.Show("ผใชงาน : " & vUserName, "เขาสระบบ")

End Sub

Page 133: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

108

3. รนโปรแกรมแลวคลกทปม Button1 จะปรากฏ InputBox ขนมา ปอนขอความลงไปในชองรบขอความแลวคลกปม OK

รปท 6.12 แสดง InputBox เมอคลกทปม

รปท 6.13 แสดง MessageBox เมอคลกทปม OK ของ InputBox

จากตวอยางและผลการทางานดานบนสามารถอธบายไดดงน เมอคลกท Button1 คาสงแรกทจะทางานคอ

vUserName = InputBox("กรณาปอนชอผใช", "เขาใชงาน")

คาสงนเมอทางานจะแสดง InputBox โดยทขอความ “กรณาปอนชอผใช” และเมอปอนขอความลงไปในชองปอนขอมลของ InputBox ขอความทปอนเขาไปจะถกนาไปเกบทตวแปร vUserName คาสงทจะทางานตอไปคอ

MessageBox.Show("ผใชงาน : " & vUserName, "เขาสระบบ")

คาสงแสดง MessageBox โดยจะแสดงขอความ “ผใชงาน : ” และตามดวยขอความทอยในตวแปร vUserName ดงทแสดงในรปท 6.13 สวนเครองหมาย & หมายถงการนาขอความมาเชอมตอกน

เมอไดศกษาใชงานคาสงพนฐานและการใชงานฟงกชนในเบองตนไปแลวในขนตอไปจะเปนการเขยนโปรแกรมจากปญหาทไดวเคราะหไวในบทท 2 ซงเปนการเขยนโปรแกรมดวยโครงสรางแบบลาดบ

Page 134: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

109

ตวอยางท 6.4 โปรแกรมการคานวณคาลวงเวลาของพนกงานโดยใหคาลวงเวลาของพนกงานชวโมงละ 60

บาท สรางหนาจอโปรแกรมโดยวางคอนโทรลตาง ๆ และกาหนดคาของคอนโทรลดงตอไปน

รปท 6.14 แสดงการวางคอนโทรลของโปรแกรมคานวณคาลวงเวลา

ตารางท 6.5 แสดงการกาหนดคณสมบตของคอนโทรล

จากการวเคราะหปญหาของผานมาโปรแกรมคานวณลวงเวลาของพนกงานจากบทท 2 ไดดงน

คอนโทรล คณสมบต (Properties) คาทกาหนด

Label Text ปอนจานวนชวโมง

Label Text คาลวงเวลา

Textbox Name txtHour

Textbox Name txtOT

Button Name btnCalc

Text คานวณ

Button Name btnClose

Text ปด

ผลลพธ (Output): คาลวงเวลาของพนกงาน

การประมวลผล(Process): คาลวงเวลาของพนกงาน = จานวนชวโมงททางานลวงเวลา X 60

ขอมลเขา (Input): จานวนชวโมงททางานลวงเวลา

Algorithm :

1. ปอนจานวนชวโมงททางานลวงเวลา

2. คานวณหาคาลวงเวลาของพนกงาน จาก จานวนชวโมงททางานลวงเวลา x 60

3. แสดงคาลวงเวลาของพนกงาน

Page 135: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

110

ตวแปรทเกดขนในโปรแกรมคอ จานวนชวโมงททางานลวงเวลา และ คาลวงเวลาของพนกงาน ในทนให

- จานวนชวโมงททางานลวงเวลา แทนดวยตวแปร vHour

- คาลวงเวลาของพนกงาน แทนดวยตวแปร vOT

เขยนคาสงดงน

รปท 6.15 แสดงคาสงโปรแกรมคานวณคาลวงเวลาของพนกงาน

เมอเขยนคาสงแลวใหทดลองรนโปรแกรมและปอนคาจานวนชวโมงลงไปใน TextBox (txtHour) จากนนคลกทปมคานวณ ผลลพธคอคาลวงเวลาจะแสดงท Label (lblOT)

รปท 6.16 แสดงผลลพธเมอโปรแกรมทางาน

จากการทางานของโปรแกรมขางตนชดคาสงในโพรซเยอรนจะทางานเมอมการคลกทปมคานวณ (btnCalc)

โดยสามารถอธบายคาสงไดดงน

Dim intHour As Integer

Dim sngOT as Integer

คาสงสองคาสงขางตนเปนคาสงทใชสาหรบประกาศตวแปรโดย ตวแปรชอ intHour โดยเกบขอมลชนดจานวนเตมและตวแปรชอตวแปรชอ sngOT โดยเกบขอมลชนดตวเลขทศนยม เมอประกาศตวแปรแลวคาสงทจะเรมทางานคาสงแรกคอ

Page 136: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

111

intHour = txtHour.Text

คาสงนเปนคาสงทใชสาหรบรบคาจากการปอนขอมลของผใชโดยผใชปอนขอมลลงใน TextBox แลวจะสงคาจาก TextBox มาไวทตวแปร intHour

sngOT = intHour * 60

คาสงประมวลผลโดยนาคาทอยในตวแปร intHour มาคณดวย 60 แลวนาคาทคานวณไดไปเกบไวทตวแปร sngOT และเมอคานวณไดผลลพธแลวคาสงสดทายทจะทาในโพรซเยอรนคอคาสง

lblOT.text = sngOT

คาสงนจะเปนการนาคาทอยในตวแปร sngOT มาแสดงท Label ทชอ lblOT

6.6 คาสงปดฟอรม

จากตวอยางคาสงขางตนจะเหนวาในโพรซเยอร btnClose_Click จะมคาสง Me.Close อย คาสงนจะทางานเมอมการคลกทปมปด (btnClose) โดยใชคาสง Me.Close นจะเปนคาสงสาหรบปดฟอรมทกาลงทางานอยแตถาโพรเจกตมอยฟอรมเดยวคาสงนจะหมายถงการเลกทางานของโปรแกรมเลย โดยท Me หมายถงฟอรม

6.7 การจดรปแบบผลลพธทเปนตวเลข

ในกรณทตองการควบคมผลลพธของโปรแกรมทเปนตวเลขเชนตองการแสดงจานวนจดทศนยม แสดงสญลกษณสกลเงน หรอเครองหมายพเศษอน ๆ ยกตวอยางเชน ตองการใหผลลพธมเครองหมายคนหลกพนและทศนยมสองตาแหนงและสญลกษณสกลเงน ใน Visual basic 2012 จะเรยกวาการจดรปแบบ (Formatting) โดยทผเขยนโปรแกรมสามารถใชคาสงจดรปแบบไดหลายแบบ ในแบบแรกจะใชคาสง Tostring (ToString method) ในการจดรปแบบ โดยมรปแบบดงน

รปแบบคาสง

numericVariableName.ToString(formatString)

โดยท numericVariableName คอ ชอตวแปรทชนดขอมลเปนตวเลข

formatString คอ การกาหนดรปแบบการแสดงผลของตวเลขโดยมการกาหนดดงน

C หรอ c จะแสดงสญลกษณสกลเงน เครองหมายคนหลกพน และแสดงทศนยมสองตาแหนง

N หรอ n จะแสดงเครองหมายคนหลกพนและแสดงทศนยมสองตาแหนง

F หรอ f ไมแสดงเครองหมายคนหลกพนและแสดงทศนยมสองตาแหนง

P หรอ p จะนาผลลพธมาคณดวย 100 แลวแสดงเครองหมายเปอรเซนต

Page 137: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

112

การใชคาสงจะ formatSting จะใชรปแบบคอ (“Axx”) โดยท A คอตวอกษรทกาหนดรปแบบการแสดงผล และ x คอจานวนทศนยมทตองการใหแสดงซงจะใสหรอไมกได

ตวอยางคาสง

intTax = 1157

lblTax.Text = intTax.ToString("C2")

ผลลพธทไดคอ ฿1,157.00

decDue = 63.775

lblDue.Text = decDue.ToString("N2")

ผลลพธทไดคอ 63.76

dblRate = .04

lblRate.Text = dblRate.ToString("P0")

ผลลพธทไดคอ 4%

จากตวอยางโปรแกรมคานวณคาลวงเวลาทไดทดลองเขยนมาแลว จะเหนวาผลลพธของโปรแกรมจะแสดงเปนตวเลขทไดจากการคานวณแตจะไมมเครองหมายคนหลกพนในกรณทคาทไดจากการคานวณเปนตงแต 1,000 ขนไปซงอาจจะทาใหผใชงานสบสนในตวเลขได สามารถใช ToString ในการจดรปแบบของผลลพธได

รปท 6.17 แสดงการใชคาสงจดรปแบบผลลพธทเปนตวเลข

จากรปท 6.17 จะเหนวามการปรบคาสงใหจาก lblOT.Text = sngOT ใหเปน lblOT.Text =

sngOT.ToString(“C2”) ซงผลลพธทไดจะแสดงสญลกษณสกลเงน เครองหมายคนหลกพน และแสดงทศนยมสองตาแหนง

Page 138: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

113

รปท 6.18 แสดงผลลพธของการใชคาสงจดรปแบบผลลพธ

6.8 การปองกนความผดพลาด (Error) ของโปรแกรมจากการไมไดปอนขอมล

โปรแกรมคานวณคาลวงเวลาเมอมการปอนขอมลทเปนตวเลขใน TextBox จะเหนวาโปรแกรมสามารถคานวณไดอยางไมมขอผดพลาด แตบางครงถาผใชลมปอนขอมลลงไปใน TextBox แตไปคลกทปมคานวณเลยโปรแกรมจะเกดขอผดพลาด

รปท 6.19 แสดงขอผดพลาดของโปรแกรมเมอผใชไมปอนตวเลขใน TextBox

จากรปท 6.19 ขอผดพลาดนเกดจากขอมลทอยใน TextBox นนไมมหรอพดอกอยางหนงวาเปนชองวาง ซงโปรแกรมจะมองเปนตวอกษร ตวแปร intHour จะเกบคาไดเฉพาะตวเลขจานวนเตมไมสามารถเกบตวอกษรไดคาสงนจง Error การปองกนขอผดพลาดนสามารถแกไขไดดวยการใชฟงกชน Val จากไดทศกษามาโดยปรบคาสงดงน

รปท 6.20 แสดงการใชฟงกชน Val เพอปองกนขอผดพลาดของโปรแกรม

เมอปรบคาสงแลวใหทดลองรนโปรแกรมแลวคลกทปมคานวณโดยไมตองปอนคาใด ๆ ลงใน TextBox

ผลลพธจะไดดงรปดานลาง

Page 139: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

114

รปท 6.21 ผลลพธของโปรแกรมเมอใชฟงกชน Val ปองกนขอผดพลาดของโปรแกรม

จากรปท 6.21 จะเหนวาเมอไมปอนคาใด ๆ ลงไปใน TextBox ผลลพธจะไดเปน 0 เนองจากฟงกชน Val จะการแปลงคาเปนตวเลขแตตวอกษรไมสามารถแปลงเปนตวเลขไดเมอฟงกชนทางานตวแปร intHour จะมคาเปน 0

ตวอยางท 6.5 โปรแกรมเพอคานวณหาเงนเดอนคงเหลอประจาเดอนของพนกงานหลงหกเงนประกนสงคม 5 เปอรเซนตของเงนเดอนประจา

ขอมลเขา (Input): เงนเดอนประจา

การประมวลผล(Process): เงนประกนสงคม = เงนเดอนประจา X (5/100)

เงนเดอนคงเหลอ = เงนเดอนประจา – เงนประกนสงคม ผลลพธ (Output): เงนเดอนคงเหลอ

Algorithm :

1. ปอนเงนเดอนประจา

2. คานวณหาเงนประกนสงคมจาก เงนเดอนประจา x (5/100)

3. คานวณหาเงนคงเหลอจาก เงนเดอนประจา – เงนประกนสงคม 4. แสดงเงนเดอนคงเหลอ

ในตวอยางนจะเปนการประยกตใชงาน InputBox ดวยใหสรางหนาจอโปรแกรมโดยวางคอนโทรลตาง ๆ และกาหนดคาของคอนโทรลดงตอไปน

รปท 6.22 แสดงการวางคอนโทรลบนฟอรมของโปรแกรมคานวณหาเงนเดอนคงเหลอประจาเดอน

Page 140: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

115

ตารางท 6.6 แสดงการกาหนดคณสมบตของคอนโทรล

เขยนคาสงตอไปนทปม คลกเพอปอนเงนเดอน

Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click

Dim vSalary As Single

Dim vSins As Single

Dim vTotal As Single

vSalary = InputBox("กรณาปอนเงนเดอนประจา")

vSins = vSalary * (5 / 100)

vTotal = vSalary - vSins

lblTotal.Text = vTotal

End Sub

เมอเขยนคาสงเสรจแลวใหทดลองรนโปรแกรมแลวคลกทปม คลกเพอปอนเงนเดอน

รปท 6.23 แสดงผลการทางานของโปรแกรมคานวณเงนเดอนคงเหลอ

เมอคลกทปมแลวจะปรากฏ InputBox ขนมาเพอใหผใชปอนเงนเดอนประจาลงไป ใหทดลองปอนตวเลขจานวนหนง

คอนโทรล คณสมบต (Properties) คาทกาหนด

Label

Name lblTotal

BackColor ActiveCaptionText (สดา)

ForeColor ButtonHighlight (สขาว)

Text 0.00

Button Name btnCalc

Text คลกเพอปอนเงนเดอน

Page 141: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

116

รปท 6.24 แสดงการปอนขอมลของโปรแกรมคานวณเงนเดอนคงเหลอ

หลงจากทปอนคาเขาไปท InputBox แลวคลกทปม OK ผลลพธจะแสดงท Label

รปท 6.25 แสดงผลลพธของโปรแกรมคานวณเงนเดอนคงเหลอ

จากการทางานของโปรแกรมขางตนชดคาสงในโพรซเยอรนจะทางานเมอมการคลกทปมคานวณ (btnCalc)

โดยสามารถอธบายคาสงไดดงน

Dim vSalary As Single

Dim vSins As Single

Dim vTotal As Single

คาสงขางตนเปนคาสงทใชสาหรบประกาศตวแปรโดย ตวแปรชอ vSalary, vSins, vTotal ตวแปรทงสามตวนเกบขอมลชนดตวเลขทศนยม เมอประกาศตวแปรแลวคาสงทจะเรมทางานคาสงแรกคอ

vSalary = InputBox("กรณาปอนเงนเดอนประจา")

คาสงนเปนคาสงทใชสาหรบรบคาจากการปอนขอมลของผใชโดยผใชปอนขอมลลงใน InputBox แลวจะสงคามาไวทตวแปร vSalary

vSins = vSalary * (5 / 100)

Page 142: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

117

คาสงประมวลผลโดยนาคาทอยในตวแปร vSalary มาคณดวย (5 / 100) แลวนาคาทคานวณไดไปเกบไวทตวแปร vSins ผลการคานวณนตวแปร vSins จะเกบคาของเงนประกนสงคมทคานวณได และคาสงตอไปทจะทางานคอ

vTotal = vSalary - vSins

คาสงนจะเปนคาสงทคานวณหาเงนคงเหลอประจาเดอนซงคาทคานวณไดจะถกเกบไวทตวแปร vTotal การคานวณจะมาจากตวแปร vSalary ทเปนตวแปรเกบเงนเดอนประจาลบดวยตวแปร vSins ทเปนตวแปรเกบเงนประกนสงคมทคานวณไดจากบรรทดกอนหนา เมอคานวณไดผลลพธแลวคาสงสดทายทจะทาในโพรซเยอรนคอคาสง

lblTotal.Text = vTotal

คาสงนจะเปนการนาคาทอยในตวแปร vTotal มาแสดงท Label ทชอ lblTotal

โปรแกรมคานวณเงนคงเหลอประจาเดอนหลงจากหกเงนประกนสงคมนอาจจะเกดขอผดพลาดไดในกรณทผใชไมปอนคาเขาไปใน InputBox ขอผดพลาดทเกดขนจะเปนกรณเดยวกบโปรแกรมกอนหนา ทดลองรนโปแกรมใหมแลวคลกทปม OK หรอ ปมปด

รปท 6.26 แสดงการทางานของโปรแกรมโดยไมปอนขอมล

จะพบวาโปรแกรมจะหยดทางานและแจงขอผดพลาดของคาสง

รปท 6.27 แสดงขอผดพลาดของโปรแกรมเมอไมปอนขอมล

Page 143: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

118

การปองกนขอผดพลาดของโปรแกรมอาจจะใชฟงกชน Val มาปองกนกเปนวธหนงซงสามารถทาได โดยการปรบคาสงดงน

vSalary = Val(InputBox("กรณาปอนเงนเดอนประจา"))

เมอปรบแกคาสงแลวใหทดสอบรนโปรแกรมแลวไมตองปอนคาลงไปใน InputBox จะพบวาโปรแกรมไมมขอผดพลาดหรอหยดการทางานของโปรแกรม

รปท 6.28 แสดงผลลพธของโปรแกรมเมอปองกนขอผดพลาดดวยฟงกชน Val

สรป

ฟงกชน Val จะทาการแปลงขอมลมาเปนตวเลข คาทจะไดนนขอมลทปอนเขาไปตองเปนตวเลขเทานนฟงกชนจงจะทาหนาทไดอยางสมบรณ แตถาในขณะทฟงกชนกาลงทาการแปลงถาพบอกขระพเศษหรอตวอกษรทไมใชตวเลขอยจะหยดทาการแปลงทนท

Message Box เปนฟอรมชนดหนงทใชโตตอบกบผใชงาน เชน การแสดงขอความแจงเตอน การแสดงขอความในลกษณะยนยนการทางานและมตวเลอกใหกาหนดรปแบบตาง ๆ ได

InputBox สามารถรบขอมลจากการปอนของผใชไดซงจะนาไปใชงานในสวนอนๆของโปรแกรมตอไปได

คาสง Me.Close เปนคาสงสาหรบปดฟอรมทกาลงทางานอยแตถาโพรเจกตมอยฟอรมเดยวคาสงนจะหมายถงการเลกทางานของโปรแกรมเลย โดยท Me หมายถงฟอรม

ในกรณทตองการควบคมผลลพธของโปรแกรมทเปนตวเลขเชนตองการแสดงจานวนจดทศนยม แสดงสญลกษณสกลเงน หรอเครองหมายพเศษอน ๆ จะใชคาสง Tostring (ToString method) ในการจดรปแบบ

Page 144: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

119

แบบฝกหด

1. โครงสรางแบบลาดบมการทางานแบบใด

2. ใหใสคาทแปลงขอมลไดเมอใชฟงกชน Val

ขอมล ขอมลทฟงกชน Val แปลงได

3,000

ชองวาง (ไมปอนขอมล )

4Business

MS UDRU

3. ตองการใหแสดง MessageBox มขอความวา “ตองการลบขอมลหรอไม” และมปม Yes,No ปรากกฎอยดวยจะเขยนคาสงอยางไร

4. Input Box มไวเพออะไร

5. ใหเขยนโปรแกรมเพอคานวณหาอตราภาษมลคาเพมของราคาสนคาโดย

5.1 สรางหนาจอโปรแกรมพรอมระบคอนโทรลทใช

5.2 จดรปแบบผลลพธทเปนตวเลขใหมเครองหมายคนหลกพน

5.3 มปมปดโปรแกรม

Page 145: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

120

เอกสารอางอง

สรสทธ ควประสพศกด นนทน แขวงโสภา. อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน,

2546

TextBox Class. Retrieved January 8, 2012, from http://msdn.microsoft.com/en-

us/library/system.windows.forms.TextBox(v=vs.110).aspx

Page 146: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 7

หวขอเนอหาประจาบท 7.1 โครงสรางการเขยนโปรแกรมแบบเลอกทา

7.2 การใชงานตวดาเนนการ

7.3 โครงสรางคาสง if …Then (if … Then Statement)

7.4 โครงสราง if….Then…Else (if….Then…Else Statement)

7.5 โครงสราง If….Then…ElseIf (If….Then…ElseIf Statement)

7.6 การใชงาน Check Box

7.7 การใชงาน Radio Button

7.8 การใชงาน Group Box

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายการทางานโครงสรางโปรแกรมแบบเลอกทาไดถกตอง

2. ใชตวดาเนนการไดถกตอง

3. อธบายการทางานโครงสรางโปรแกรมแบบเลอกแบบตาง ๆ ทาไดถกตอง

4. ใชงาน Check Box ไดถกตอง

5. ใชงาน Radio Button ไดถกตอง

6. เขยนโปรแกรมดวยโครงสรางแบบแบบเลอกทาได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 147: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

122

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 148: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 7 โครงสรางการเขยนโปรแกรมแบบเลอกทา

การแกปญหาดวยคอมพวเตอรบางอยางตองการการตดสนใจของโปรแกรม เพอเลอกวาจะใชวธการใดในการแกปญหา โดยตองมการตรวจสอบเงอนไขกอนวาเงอนไขทใชนนเปนจรงหรอเทจ ถาเปนจรงจะไปเลอกทาคาสงชดหนง แตถาเปนเทจจะไปเลอกทาคาสงอกชดหนง

บทนจะศกษาเรองโครงสรางการเขยนโปรแกรมแบบเลอกทา (Selection Structure) ดวยคาสง IF

แบบตาง ๆ และนอกจากศกษาโครงสรางการเขยนโปรแกรมแบบเลอกทาแลว จะมการประยกตใชคอนโทรลตาง ๆ ทเหมาะสมกบการเขยนโปรแกรมตามโครงสรางนดวย

7.1 โครงสรางการเขยนโปรแกรมแบบเลอกทา

การเขยนโปรแกรมโดยทวไป มกจะตองมเงอนไขบางอยางอยเสมอ โครงสรางการเขยนโปรแกรมแบบเลอกทาจะทาการตรวจสอบเงอนไขของโปรแกรมกอนทจะดาเนนการคาสงใดทอยภายใตเงอนไข โดยถาเงอนไขเปนจรงโปรแกรมจะมวธการทางานอยางหนง แตถาเงอนไขเปนเทจจะมวธทางานอกอยางหนง เชนการคดคาคอมมชชนของพนกงานจากยอดขาย ถายอดขายมากกวา 1,000,000 บาทขนไปจะไดคาคอมมชชน 0.5% แตถายอดขายไมถง 1,000,000 บาทไมไดคาคอมมชชน เปนตน

ตรวจสอบเงอนไข ง สา คดชเมอเงอนไขเปนจรง

ง สา คดชจ ทเน ปเขไนอ งเอ มเ

False

True

รปท 7.1 แสดงผงการทางานของโครงสรางแบบเลอกทา

Page 149: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

124

โครงสรางการเขยนโปรแกรมแบบเลอกทาคาสง 2 คาสงหลกๆทใชตดสนใจไดแก คาสง if และ Select

Case ซงการทโปรแกรมจะเลอกทางานของชดคาสงใดนน ตองมการตรวจสอบเงอนไขกอนเสมอ การเขยนเงอนไขของโปรแกรมจะประกอบไปดวย

รปแบบคาสง

ตวเปรยบเทยบ ตวดาเนนการเปรยบเทยบ คาทเปรยบเทยบ

ตวอยางคาสง

X > 5

Price <= 1000

Price >= 2000 and Price <= 5000

circulation> 200000 and Employee = ‘Sale’

กอนทจะศกษาในรายละเอยดการเขยนโปรแกรมผเขยนจะนาเสนอความรพนฐานของการใชตวดาเนนการเปรยบเทยบดงน

7.2 การใชงานตวดาเนนการของโครงสรางการเขยนโปรแกรมแบบเลอกทา

ในคาสงทมตวดาเนนการนน จะประกอบไปดวยขอมล 2 สวน โดยมตวดาเนนการเปรยบเทยบคนกลาง ซงเมอมตวดาเนนการเปรยบเทยบกหมายความวา จะตองไดผลลพธของการดาเนนการออกมาเสมอ ซงจะเรยกสวนของคาสงกลางขอมลสองสวนนวา Expression

สามารถแบงตวดาเนนการเปรยบเทยบได 2 ประเภทดงน

• Comparison Operator เปนตวดาเนนการเพอการเปรยบเทยบ

• Logical Operator เปนตวดาเนนการทางตรรกศาสตร

7.2.1 Comparison Operator : ตวดาเนนการเปรยบเทยบ

ตวดาเนนการประเภทนใชในการเปรยบเทยบขอมลขางตวดาเนนการ ซงผลการเปรยบเทยบจะไดผลลพธเปนตวจรง (True) หรอเทจ (False) เทานน สาหรบตวดาเนนการเปรยบเทยบมใหเลอกใชงานดงน

ตารางท 7.1 แสดงตวดาเนนการเปรยบเทยบ

ตวดาเนนการ คาอธบาย ตวอยาง

< นอยกวา a < b จะเปนจรงเมอ a นอยกวา b

<= นอยกวาหรอเทากบ a <= b จะเปนจรงเมอ a นอยกวาหรอเทากบ b

Page 150: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

125

> มากกวา a >b จะเปนจรงเมอ a มากกวา b

>= มากวาหรอเทากบ a >= b จะเปนจรงเมอ a มากกวาหรอเทากบ b

<> ไมเทากบ a <> b จะเปนจรงเมอ a ไมเทากบ b

= เทากบ a = b จะเปนจรงเมอ a เทากบ b

Is เปนออบเจกตเดยวกน a Is b จะเปนจรงเมอ a เปนออบเจกตเดยวกน b

IsNot เปนออบเจกตคนละตว a IsNot b จะเปนจรงเมอ a เปนออบเจกตคนละตว b

TypeOf…Is เปนออบเจกตชนดเดยวกน

TypeOf(a) Is b จะแปนจรงเมอตวแปร a สรางจากออบเจกต b

Like รปแบบเหมอนกน a Like b จะเปนจรงเมอ a รปแบบเหมอนกนกบ b

ตารางท 7.1 แสดงตวดาเนนการเปรยบเทยบ

7.2.2 Logical Operater : ตวดาเนนการทางตรรกศาสตร

ตวดาเนนการประเภทนใชเปรยบเทยบขอมลดานตรรกศาสตร ซงผลลพธทไดจากการทางานจะเปนจรง (True)หรอเทจ (False) เทานน ซงมกจะใชเพอการตดสนใจในการทางานของโปรแกรม

ตารางท 7.2 แสดงตวดาเนนการทางตรรกศาสตร

ตวดาเนนการ คาอธบาย ตวอยาง

Not นเสธ Not a ผลลพธคอ นเสธของ a (มความจรงตรงขามกบ a นนเอง)

And และ a And b ผลลพธจะเปนจรงเมอ a และ b ตางเปนจรง

Or หรอ a Or b ผลลพธจะเปนจรงเมอ a และ b เปนจรง

Xor Exclusive Or a Xor b ผลลพธจะเปน True กตอเมอ a กบ b มคาความจรงตางกน

AndAlso และ (แบบรวดเรว) a AndAlso b

OrElse หรอ(แบบรวดเรว) a OrElse b

ตวดาเนนการ AndAlso จะไดผลเปน True กรณเดยวคอเมอตวถกดาเนนการเปน True ทงค ซงกเหมอนกบ And แตทตางไปจาก And กคอ AndAlso พบวาเงอนไขทางซายเปน False จะไดผลลพธของนพจนเปน False ทนทโดยไมตรวจสอบเงอนไขทางขวา ในขณะท And จะหาคาของนพจนเงอนไขทงสองฝงเสมอ

ตวดาเนนการ AndAlso จงมประโยชนในกรณทตองการเชอมเงอนไข2ชดเขาดวยกนโดยใชตรรกะของ And แตตองการใหขามเงอนไขทสองไปเลยหากพบวาเงอนไขแรกเปนFalse เชน

Page 151: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

126

ตวอยางนถา b เทากบ 0 เงอนไขทางซายของ AndAlso จะเปน False และโปรแกรมจะไมหาคาของเงอนไขทางขวา นนคอจะไมนา a มาหารดวย b แลวดวาผลลพธมากกวา1 หรอไม แตจะสรปวาผลลพธของ AndAlso เปน False ทนท จงทาใหเงอนไขทงหมดหลง If เปน False และโปรแกรมจะขามไปทาโคดหลงบรรทด End If ตอไป

7.3 โครงสรางคาสง if …Then (if … Then Statement)

โครงสรางคาสง if…Then ใชสาหรบตรวจสอบเงอนไขหนง โดยถาเงอนไขนเปนจรงจะทาชดคาสงหนง แตถาเปนเทจจะไมทาคาสงใดในบลอกของ if รปแบบการใชงานเปนดงน

รปแบบคาสง

If < expression> Then

Statement

End If

โดยท

Expression คอ เงอนไขของโปรแกรม

Statement คอ ชดคาสงเมอเงอนไขเปนจรง

สามารถแสดงการทางานของโครงสรางคาสง if … Then ดวยผงงานไดดงรปท 7.2

รปท 7.2 ผงงานการทางานของโครงสรางคาสง if … Then

เงอนไข

ชดคาสงเมอเงอนไขเปนจรง

True

False

Page 152: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

127

ตวอยางท 7.1 เขยนโปรแกรมคานวณคาคอมมชชนจากยอดขายของพนกงาน ถาพนกงานขายสนคาไดมากกวา 10,000 0 จะไดคาคอมมชชน 1 % จากยอดขาย

วตถประสงค : เพอคานวณคาคาคอมมชชนจากยอดขายของพนกงาน

ขอมลเขา (Input): ยอดขาย

เงอนไข (Condition) : ยอดขาย > 10000

การประมวลผล(Process): คาคอมมชชน = ยอดขาย * 0.01

ผลลพธ (Output): คาคอมมชชน

รปท 6.3 แสดงผงงานโปรแกรมคานวณคาคอมมชชนของพนกงาน

รปท 7.3 แสดงโปรแกรมคานวณคาคอมมชชนจากยอดขาย

เรมตน

รบ ยอดขาย

ยอดขาย > 10000

คาคอมมชชน = ยอดขาย * 0.01

คาคอมมชชน

สนสด

True

False

Page 153: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

128

สรางหนาจอโปรแกรมและวางคอนโทรลบนฟอรมดงน

รปท 7.4 แสดงหนาจอโปรแกรมคานวณคาคอมมชชน

ตารางท 7.3 แสดงคอนโทรลและคณสมบตของคอนโทรลโปรแกรมคานวณคาคอมมชชน

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtTotal

TextAlign Right

Button Name btnDisplay

Text แสดงคาคอมมชชน

การทางานของโปรแกรมจะทาการคานวณและแสดงคาคอมมชชนเมอมการคลกทปมแสดงคาคอมมชชน ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม (btnDisplay) และเขยนคาสงดงน

Public Class Form1

Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click

Dim vTotal As Single

Dim vCommit As Single

vTotal = txtTotal.Text

If vTotal > 10000 Then

vCommit = vTotal * 0.01

MessageBox.Show("คาคอมมชชนทได =" & vCommit, "คาคอมมชชน")

End If

End Sub

End Class

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองปอนคาตวเลขทเปนยอดขายลงใน TextBox จากนนใหคลกทปม แสดงคาคอมมชชน โปรแกรมจะทาการคานวณและแสดงผลลพธออกมาทาง MessageBox แตถาคาทปอนเขาไปไมเกน 10,000 ผลลพธจะไมแสดง

Page 154: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

129

รปท 7.5 แสดงหนาจอเมอรนโปรแกรมและปอนคา

รปท 7.6 แสดงผลการทางานของโปรแกรม

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน

vTotal = txtTotal.Text

คาสงนจะเปนการสงคาทอยใน textbox ทชอ txtTotal มาเกบไวทตวแปร Vtotal จากนนจะเปนการตรวจสอบเงอนไขของโปรแกรมดวยคาสง

If vTotal > 10000 Then

คาสง if เพอตรวจสอบคาทอยในตวแปร Vtotal วามคามากกวา 10,000 หรอไม ถามคามากกวานนหมายถงเงอนไขเปนจรง(True) กจะทาคาสงทอยในบลอคของ if (if … End if)ซงกคอคาสง

vCommit = vTotal * 0.01

เปนคาสงทคานวณคาคอมมชชนโดยคานวณจากตวแปร vTotal แลวนานาไปเกบไวทตวแปร vCommit

จากนนจะแสดงผลลพธโดยใช MessageBox ดวยคาสง

MessageBox.Show("คาคอมมชชนทได =" & vCommit, "คาคอมมชชน")

คาสงแสดงคาคอมมชชนดวย MessageBox นจะแสดงเมอเงอนไขเปนจรงเทานน สวนเงอนไขเปนเทจ โปรแกรมจะไมแสดง MessageBox ขนมา

Page 155: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

130

ตวอยางท 7.2 ตวอยางการปดโปรแกรม

ตวอยางนจะเปนการประยกตใชงาน MessageBox รวมกบการเขยนโปรแกรมดวยคาสง if โดยจะแสดง MessageBox ใหผใชเลอกวาจะปดโปรแกรมหรอไม ใหสรางหนาจอโปรแกรมดงน

รปท 7.7 แสดงการวางคอนโทรลของโปรแกรม

ตารางท 7.4 แสดงคอนโทรลและคณสมบตของคอนโทรล

คอนโทรล คณสมบต คาทกาหนด

Button Name btnClose

Text ออกจากโปรแกรม

เขยนคาสงทปมออกจากโปรแกรมดวยคาสง

Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles _ btnClose.Click

Dim ans As MsgBoxResult

ans = MessageBox.Show("ตองการออกจากโปรแกรมหรอไม", "เลกการทางาน", _

MessageBoxButtons.YesNo, MessageBoxIcon.Question)

If ans = MsgBoxResult.Yes Then

Me.Close()

End If

End Sub

เมอเขยนคาสงแลวใหทดลองรนโปรแกรมแลวคลกทปมจะปรากฏ MessageBox ถามการเลกการทางานถาคลก Yes กจะเปนการปดโปรแกรม

Page 156: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

131

1. คลกทปมออกจากโปรแกรม

2. คลกเลอก Yes

รปท 7.8 แสดงการทางานของการปดโปรแกรม

จากการทางานของโปรแกรมขางตนชดคาสงในโพรซเยอรนจะทางานเมอมการคลกทปมออกจากโปรแกรม(btnClose) โดยสามารถอธบายคาสงไดดงน

Dim ans As MsgBoxResult

คาสงขางตนเปนคาสงทใชสาหรบประกาศตวแปรโดย ตวแปรชอ ans เปนชนด MsgBoxResult ตวแปรชนดนจะสามารถเกบผลของการคลกปมทมอยใน MessageBox

ans = MessageBox.Show("ตองการออกจากโปรแกรมหรอไม", "เลกการทางาน", _

MessageBoxButtons.YesNo, MessageBoxIcon.Question)

คาสงนเปนคาสงทใหแสดง MssageBox และเมอผใชคลกทปมใด ๆ บน MessageBox ผลของการคลกจะถกสงมาเกบไวทตวแปร ans เชน ถาคลกทปม Yes คาทสงออกมาจะเปน MsgBoxResult.Yes ซงสามารถนาคาทสงออกมาใชตรวจสอบเงอนไขหรอนาไปใชงานอน ๆ ในโปรแกรมได

If ans = MsgBoxResult.Yes Then

เปนการตรวจสอบเงอนไขของโปรแกรมถาตวแปร ans มคาเปน MsgBoxResult.Yes แสดงคาเงอนไขเปนจรงกจะทาคาสงทอยหลง Then นนกคอคาสง Me.Close() แตถาเปนเทจจะไมทาคาสงใดเลยในบลอกของ if

Page 157: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

132

7.4 โครงสราง if….Then…Else (if….Then…Else Statement)

โครงสรางคาสง if…Then…Else ใชสาหรบตรวจสอบเงอนไข โดยถาเงอนไขเปนจรงจะทาชดคาสงหนง แตถาเปนเทจจะทาอกชดคาสงหนง รปแบบการใชงานเปนดงน

รปแบบคาสง

If <expression> Then

statement

Else

elsestatements

End If

โดยท

expression คอ เงอนไขของโปรแกรม

Statement คอ ชดคาสงเมอเงอนไขเปนจรง

elsestatements คอ ชดคาสงเมอเงอนไขเปนเทจ

เงอนไข ง สา คดชเมอเงอนไขเปนจรง

ง สา คดชจ ทเน ปเขไนอ งเอ มเ

False

True

รปท 7.9 แสดงผงงานของโครงสราง if….Then…Else

Page 158: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

133

ตวอยางท 7.3 เขยนโปรแกรมคานวณคาอาหารแบบบฟเฟตโดยคดหวละ 350 บาท แตถามามากกวา 5 คนคดหวละ 300 บาท

วตถประสงค : เพอคานวณคาคาคอมมชชนจากยอดขายของพนกงาน

ขอมลเขา (Input): จานวนคน

เงอนไข (Condition) : จานวนคน > 5

การประมวลผล(Process): คาอาหาร= จานวนคน * 300 (เงอนไขเปนจรง)

คาอาหาร= จานวนคน * 350 (เงอนไขเปนเทจ)

ผลลพธ (Output): คาอาหาร

รปท 7.10 แสดงแสดงผงงานของโปรแกรมคานวณคาอาหารแบบบฟเฟต

เรมตน

รบ จานวนคน

จานวนคน > 5

คาอาหาร = จานวนคน * 300

คาคอมมชชน

สนสด

True False

คาอาหาร = จานวนคน * 350

Page 159: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

134

สรางหนาจอโปรแกรมและวางคอนโทรลบนฟอรมดงน

รปท 7.11 แสดงหนาจอโปรแกรมคานวณคาอาหารแบบบฟเฟต

ตารางท 7.5 แสดงคอนโทรลและคณสมบตของคอนโทรลโปรแกรมคานวณคาอาหารแบบบฟเฟต

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtN

Button Name btnCalc

Text คานวณ

Label

Name lblPrice

Text 0.00

AutoSize False

BackColor ActiveCaptionText (ดา)

ForeColor ButtonHighlight (ขาว)

การทางานของโปรแกรมจะทาการคานวณและแสดงคาอาหารเมอมการคลกทปมคานวณ ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวนและเขยนคาสงดงน

Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnExit.Click

Dim vNum As Byte

Dim vPrice As Single

vNum = txtN.Text

If vNum > 5 Then

vPrice = vNum * 300

Else

Page 160: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

135

vPrice = vNum * 350

End If

lblPrice.Text = vPrice

End Sub

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองปอนจานวนคนลงใน TextBox จากนนใหคลกทปม คานวณ

รปท 7.12 แสดงผลลพธของโปรแกรมคานวณคาอาหารแบบบฟเฟตแบบท 1

จากรปท 7.12 จะพบวาเมอปอนคา 2 เขาไปแลวคลกทปมคานวณ คาอาหารทคานวณออกมาไดจะเปน 700

นนกคอ 2 * 350 ทเปนเชนนเพราะเมอตรวจสอบเงอนไขแลว เงอนไขจะเปนเทจ (2 ไมมากกวา 5) ใหทดลองปอนคาใหมทมคามากกวา 5 แลวคลกทปมคานวณใหม

รปท 7.13 แสดงผลลพธของโปรแกรมคานวณคาอาหารแบบบฟเฟตแบบท 2

จากรปท 7.13 จะพบวาเมอปอนคา 6 เขาไปแลวคลกทปมคานวณ คาอาหารทคานวณออกมาไดจะเปน 1800

นนกคอ 6 * 350 ทเปนเชนนเพราะเมอตรวจสอบเงอนไขแลว เงอนไขจะเปนจรง (6 มากกวา 5)

Page 161: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

136

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน

vNum = txtN.Text

คาสงนจะเปนการสงคาทอยใน textbox ทชอ txtN มาเกบไวทตวแปร vNum จากนนจะเปนการตรวจสอบเงอนไขของโปรแกรมดวยคาสง

If vNum > 5 Then

คาสง if เพอตรวจสอบคาทอยในตวแปร vNum วามคามากกวา 5 หรอไม ถามคามากกวานนหมายถงเงอนไขเปนจรง(True) กจะทาคาสงทอยหลง Then ซงกคอคาสง

vPrice = vNum * 300

เปนคาสงทคานวณคาอาหารโดยคานวณจากคาหวคนละ 300 แตถาเงอนไขเปนเทจซงกคอ จานวนคนไมมากกวา 5 จะทาคาสงทอยหลง Else คอคาสง

vPrice = vNum * 350

คาสงนจะคานวณคาอาหารจากคาหวคนละ 350 เมอหมดเงอนไขของโปรแกรมแลวจะปดดวย End if และแสดงคาอาหารดวยคาสง

lblPrice.Text = vPrice

7.5 โครงสราง If….Then…ElseIf (If….Then…ElseIf Statement)

การตรวจสอบเงอนไขของโปรแกรมในบางปญหาของโปรแกรมการตรวจสอบเงอนไขอาจมมากกวา 1 เงอนไข โดยถาเงอนไขแรกเปนจรงจะใหโปรแกรมทาคาสงหนง แตถาเปนเทจจะตรวจสอบเงอนไขทสองตอไปถาเปนจรงจะใหทาอกอยางหนง แตถาเปนเทจกอาจตรวจสอบเงอนไขทสามตอไป เปนเชนนไปเรอย ๆจนกวาจะครบเงอนไขทตองการตรวจสอบ สาหรบกรณทมหลายเงอนไขทตองการตรวจสอบ จะใชโครงสรางคาสง If … Then … Elself เขามาชวยได ดงน

รปแบบคาสง

If <expression> Then

statement

ElseIf

elseIfstatements

Else

elsestatements

End If

Page 162: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

137

ตรวจสอบเงอนไขท 1 ง สา คดชเมอเงอนไขท 1 เปนจรง

False

True

ตรวจสอบเงอนไขท 2

ตรวจสอบเงอนไขท 3

False

False

ง สา คดชจ ทเน ปเดมหง ทขไนอ งเอ มเ

ง สา คดชเมอเงอนไขท 2 เปนจรง

ง สา คดชเมอเงอนไขท 3 เปนจรง

True

True

รปท 7.14 แสดงผงงานของโครงสราง If….Then…ElseIf

ตวอยางท 7.4 แสดงเกรดจากคะแนนของนกศกษา

การแสดงเกรดของนกศกษาโดยคดจากคะแนนจะเปนตวอยางทเหนภาพงายทสด นนคอจะมเงอนไขใหตรวจสอบหลายเงอนไขโดยมหลกเกณฑดงตอไปน

ตารางท 7.6 แสดงเงอนไขของการแสดงเกรดของนกศกษา

คะแนนอยในชวง เกรด

คะแนน > 100 Error

คะแนน >= 80 A

คะแนน >= 70 B

คะแนน >= 60 C

คะแนน >= 50 D

นอยกวา 50 F

Page 163: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

138

รปท 7.15 แสดงผงงานของโปรแกรมแสดงเกรดนกศกษา

สรางหนาจอโปรแกรมและวางคอนโทรลบนฟอรมดงน

รปท 7.16 แสดงการวางคอนโทรลของโปรแกรมแสดงเกรดนกศกษา

เรมตน

รบ คะแนน

คะแนน > 100 “Error”

สนสด

True

False

คะแนน >= 80

คะแนน >=70

คะแนน >=60

คะแนน >=50

“A” True

“B” True

“C” True

“D” True

“F”

False

False

False

False

Page 164: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

139

ตารางท 7.7 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงเกรดนกศกษา

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtScore

Button Name btnDisplay

Text แสดง

Label

Name lblGrade

AutoSize False

BackColor ActiveCaptionText (ดา)

ForeColor ButtonHighlight (ขาว)

การทางานของโปรแกรมจะทาการคานวณและแสดงคาอาหารเมอมการคลกทปมแสดง ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน (btnDisplay) และเขยนคาสงดงน

Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click

Dim vScore As Byte

vScore = txtScore.Text

If vScore > 100 Then

lblGrade.Text = "Error"

ElseIf vScore >= 80 Then

lblGrade.Text = "A"

ElseIf vScore >= 70 Then

lblGrade.Text = "B"

ElseIf vScore >= 60 Then

lblGrade.Text = "C"

ElseIf vScore >= 50 Then

lblGrade.Text = "D"

Else

lblGrade.Text = "F"

End If

End Sub

Page 165: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

140

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองปอนคะแนน TextBox จากนนใหคลกทปม แสดง โปรแกรมจะแสดงผลลพธออกมาท Label

รปท 7.17 แสดงการทางานของโปรแกรมแสดงเกรดของนกศกษา

7.6 การใชงานเชคบอกซ (Check Box)

เชคบอกซเปนคอนโทรลทใชสาหรบเปนตวเลอกไดสองทางเลอกคอเชค (เมอเครองหมายขดถก)

หรอไมเชค (ไมมเครองหมายขดถก) เชคบอกซจะเปนกลมของตวเลอกโดยใหผใชคลกเลอกซงผใชสามารถเลอกไดมากกวา 1 ตวเลอก

Page 166: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

141

รปท 7.18 แสดงคอนโทรล Check Box

คณสมบต (Properties) ทสาคญของเชคบอกซไดแก

ตารางท 7.8 แสดงคณสมบต (Properties) ทสาคญของเชคบอกซไดแก

คณสมบต คาอธบาย

Text ใชกาหนดหรอเขาถงขอความบนเชคบอกซ (สามารถกาหนดคยลดไดโดยใชเครองหมาย & นาหนาตวอกษรทตองการเชนกน)

TextAlign กาหนดตาแหนงของขอความทตองการ

Checked คาของเชคบอกซ จะมคา True (มเครองหมายขดถก) หรอ False (ไมมเครองหมายขดถก)

CheckState สถานะของการเชค จะมคาChecked (มความหมายเดยวกบ Checked = True) หรอ UnChecked (มความหมายเดยวกบ Checked = False) หรอ Indeterminate

CheckAlign กาหนดตาแหนงเชคทตองการ(มตาแหนงเหมอนกบตาแหนงในพรอพเพอรต TextAlign)

AutoImage กาหนดใหคาดฟอลตของเชคบอกซมการเชคหรอไม (True หรอ False)

Image กาหนดรปทตองการ

ImageAlign กาหนดตาแหนงรปทตองการ(มตวเลอกเหมอนกบในพรอพเพอรต TextAlign)

CheckBox

Page 167: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

142

เหตการณ (Event) ทสาคญของ radio Button คอ

ตารางท 7.9 แสดงเหตการณทสาคญของ CheckBox

เหตการณ คาอธบาย

Click จะเกดขนเมอคลกเมาท Check Box (หรอกด Alt + ตวอกษรคยลด)

ตวอยางท 7.5 ตวอยางการใชงาน CheckBox โปรแกรมรานขายบะหม

ในตวอยางทจะเปนการประยกตใชงาน CheckBox โดยจะสรางเปนโปรแกรมรานขายบะหมใหผใชคลกเลอกรายการวาจะเลอกบะหมประเภทใดและโปรแกรมจะแสดงจานวนเงนเมอคลกปม แสดงราคา

สรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 7.19 แสดงการวางคอนโทรลของโปรแกรมรานขายบะหม

ตารางท 7.10 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมรานขายบะหม

คอนโทรล คณสมบต คาทกาหนด

CheckBox Name Chk1

Text บะหมหมแดง ฿45

CheckBox Name Chk2

Text บะหมเปด ฿60

CheckBox Name Chk3

Text บะหมตมยา ฿45

CheckBox Name Chk4

Text บะหมไก ฿35

Page 168: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

143

Button Name btnDisplay

Text แสดงราคา

Label

Name lblPrice

AutoSize False

BackColor ActiveCaptionText (ดา)

ForeColor ButtonHighlight (ขาว)

การทางานของโปรแกรมจะทาการคานวณและแสดงคาอาหารเมอมการคลกทปมแสดง ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน (btnDisplay) และเขยนคาสงดงน

Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click

Const nPig As Integer = 45

Const nDuck As Integer = 60

Const nTomyum As Integer = 45

Const nChick As Integer = 35

Dim Price As Integer

If chk1.Checked = True Then

txtDetail.Text += vbCrLf & chk1.Text

Price += nPig

End If

If chk2.Checked = True Then

txtDetail.Text += vbCrLf & chk2.Text

Price += nDuck

End If

If chk3.Checked = True Then

txtDetail.Text += vbCrLf & chk3.Text

Price += nTomyum

End If

Page 169: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

144

If chk4.Checked = True Then

txtDetail.Text += vbCrLf & chk4.Text

Price += nChick

End If

lblPrice.Text = Price

End Sub

เมอเขยนคาสงโปรแกรมเสรจแลวใหทดลองรนโปรแกรม โดยการคลกทตวเลอกของ CheckBox แลวคลกปมแสดงราคา ผลลพธจะแสดงท Label

รปท 7.20 แสดงผลลพธของโปรแกรมรานขายบะหม

7.7 การใชงานเรดโอบททน (Radio Button)

เรดโอ บททนเปนคอนโทรลทมไวใหผใชเลอกเชนเดยวกบ CheckBox แตทแตกตางกนคอ Radio

Button สามารถเลอกไดเพยงตวเลอกเดยว (CheckBox สามารถเลอกไดหลายตวเลอก)

ตารางท 7.11 แสดงคณสมบต (Properties) ทสาคญของ Radio Button ทนไดแก

พรอพเพอรต คาอธบาย

Text ใชกาหนดหรอเขาถงขอความบนเรดโอบททน(สามารถกาหนดคยลดไดโดยใชเครองหมาย&

นาหนาตวอกษรทตองการ)

Text Align กาหนดตาแหนงของขอความทตองการ

Checked สถานะของเรดโอบททนวาถกเลอกหรอไมโดยจะมคา True (ถกเลอก)หรอ False (ไมถกเลอก)

Page 170: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

145

ตารางท 7.12 แสดงเหตการณ (Event) ทสาคญของ Radio Button

พรอพเพอรต คาอธบาย

Click จะเกดขนเมอคลกเมาทเรดโอบททน(หรอกด Alt + ตวอกษรคยลด)

ตวอยางท 7.6 ตวอยางการใชงาน Radio Button โปแกรมเลอกสเสอ

ในตวอยางทจะเปนการประยกตใชงาน Radio Button โดยจะสรางเปนโปรแกรมใหมตวเลอกสเสอใหผใชคลกเลอกรายการวาจะเลอกเสอสใดและโปรแกรมจะแสดงสเสอทเลอกท Label

สรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 7.21 แสดงการวางคอนโทรลของโปรแกรมเลอกสเสอ

ตารางท 7.13 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมเลอกสเสอ

คอนโทรล คณสมบต คาทกาหนด

Radio Button Name rdoWhite

Text ขาว

Radio Button Name rdoBlack

Text ดา

Radio Button Name rdoBlue

Text นาเงน

Label

Name Lblcolor

AutoSize False

BackColor ButtonHighlight (ขาว)

BorderStyle FixedSingle

Page 171: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

146

การทางานของโปรแกรมจะทาแสดงสเสอทเลอกเมอมการคลกท Radio Button แตละตว ดงนนจะเขยนคาสงของโปรแกรมท Radio Button ดงน

1. ดบเบลคลกท rdoWhite (ขาว) ทเหตการณ CheckedChanged แลวเขยนคาสง

Private Sub rdoWhite_CheckedChanged(sender As Object, e As EventArgs) Handles _

rdoWhite.CheckedChanged

lblColor.Text = rdoWhite.Text

End Sub

2. ดบเบลคลกท rdoBlack (ดา) ทเหตการณ CheckedChanged แลวเขยนคาสง

Private Sub rdoBlack_CheckedChanged(sender As Object, e As EventArgs) Handles _

rdoBlack.CheckedChanged

lblColor.Text = rdoBlack.Text

End Sub

3. ดบเบลคลกท rdoBlue (ดา) ทเหตการณ CheckedChanged แลวเขยนคาสง

Private Sub rdoBlue_CheckedChanged(sender As Object, e As EventArgs) Handles _

rdoBlue.CheckedChanged

lblColor.Text = rdoBlue.Text

End Sub

เมอเขยนคาสงโปรแกรมเสรจแลวใหทดลองรนโปรแกรม โดยการคลกทตวเลอกของ Radio Button ผลลพธจะแสดงท Label

Page 172: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

147

รปท 7.22 แสดงผลลพธของโปรแกรมเลอกสเสอ

7.8 การใชงานกรปบอกซ (Group Box)

กรปบอกซใชสาหรบจดกลมของคอนโทรลใหเปนระเบยบและยงสามารถแบงแยก Radio Button

ทนออกเปนกลมๆเพอใหแตละกลมเปนอสระจากกนทาใหสามารถคลกเลอก Radio Button ไดมากกวา 1

ตว (ตองอยคนละ Group Box)

รปท 7.23 แสดงคอนโทรล Group Box

Group Box

Page 173: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

148

ตารางท 7.14 แสดงคณสมบต (Properties) ทสาคญของกรปบอกซไดแก

พรอพเพอรต คาอธบาย

Text ใชกาหนดหรอเขาถงขอความบนกรปบอกซ(สามารถกาหนดคยลดไดโดยใชเครองหมาย&

นาหนาตวอกษรทตองการ)

RightToLeft กาหนดตาแหนงของขอความบนกรปบอกซ จะมคาคอ No (แสดงขอความชดซายของกรปบอกซ), Yes (แสดงขอความชดขวา), หรอ Inherit (มลกษณะเหมอนฟอรม)

BackgroundImage กาหนดรป Background ของกรปบอกซ

รปท 7.24 แสดงการใชกรปบอกซจดกลมคอนโทรล

สรป

โครงสรางการเขยนโปรแกรมแบบเลอกทาจะทาการตรวจสอบเงอนไขของโปรแกรมกอนทจะดาเนนการคาสงใด

ตวดาเนนการเปรยบเทยบม 2 ประเภทคอ ตวดาเนนการเพอการเปรยบเทยบและตวดาเนนการทางตรรกศาสตร

โครงสรางคาสง if…Then ใชสาหรบตรวจสอบเงอนไขหนง โดยถาเงอนไขนเปนจรงจะทาชดคาสงหนง แตถาเปนเทจจะไมทาคาสงใด

โครงสรางคาสง if…Then…Else ใชสาหรบตรวจสอบเงอนไข โดยถาเงอนไขเปนจรงจะทาชดคาสงหนง แตถาเปนเทจจะทาอกชดคาสงหนง

โครงสรางคาสง if…Then…Else ใชสาหรบตรวจสอบเงอนไขมากกวา 2 เงอนไข

Page 174: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

149

Check Box เปนคอนโทรลทใชสาหรบเปนตวเลอกไดสองทางเลอกคอเชค (เมอเครองหมายขดถก)

หรอไมเชค (ไมมเครองหมายขดถก) เชคบอกซจะเปนกลมของตวเลอกโดยใหผใชคลกเลอกซงผใชสามารถเลอกไดมากกวา 1 ตวเลอก

Radio Button เปนคอนโทรลทมไวใหผใชเลอกเชนเดยวกบ CheckBox แตทแตกตางกนคอ Radio

Button สามารถเลอกไดเพยงตวเลอกเดยว (CheckBox สามารถเลอกไดหลายตวเลอก)

Group Box ใชสาหรบจดกลมของคอนโทรลใหเปนระเบยบและยงสามารถแบงแยก Radio Button

ทนออกเปนกลมๆเพอใหแตละกลมเปนอสระจากกน

แบบฝกหด

1. โครงสรางการเขยนโปรแกรมแบบเลอกทามการทางานอยางไร

2. กาหนดให x = 5 , y = 7, z = 5 ใหเขยนผลของการใชตวดาเนนการวาผลลพธเปนจรงหรอเทจ

เงอนไข ผลลพธ

x > y

x >=y

y <> z

z = x

<>

x > y and y >z

x < y or x > z

3. จากโจทยโปรแกรม คานวณคาผอนรถตอเดอนหลงจากหกเงนดาวน 30% ของราคารถ โดยมเงอนไขคอ 1. เลอกจานวนเดอนในการผอนได (48, 60, 72)

2. คดดอกเบยรอยละ 2.5 ตอป

ใหเขยน

3.1 ผงงานโปรแกรม

3.2 ออกแบบหนาจอโปรแกรมและกาหนดคอนโทรล

3.3 เขยนคาสงโปรแกรม

Page 175: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

150

เอกสารอางอง

If...Then...Else Statement (Visual Basic). Retrieved January 8, 2012, from

http://msdn.microsoft.com/en-us/library/752y8abs.aspx

Using the Check Box Control. Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/752y8abs.aspx

Page 176: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 8

หวขอเนอหาประจาบท 8.1 โครงสรางคาสง Select Case

8.2 การระบคาเปนชวงใหกบ Select Case

8.3 การใชงานคอนโทรล Combo Box

8.4 การใชงานคอนโทรล List Box

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายโครงสรางคาสง Select Case ได

2. เขยนคาสงโปรแกรมดวยโครงสราง Select Case ได

3. เขยนคาสงโปรแกรมดวยโครงสราง Select Case โดยการระบชวงได

3. ประยกตใชคอนโทรล Combo Box และ List Box ได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 177: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

152

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 178: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 8 โครงสรางคาสงแบบเลอกทาดวยคาสง Select case

ในกรณทมเงอนไขจานวนมาก การใชโครงสรางคาสง If…Then…Else อาจทาใหโปรแกรมดซบซอนและยากตอการทาความเขาใจ การใชโครงสรางคาสง Select Case มาควบคมการทางานของโปรแกรมจะทาใหเขยนโปรแกรมไดสะดวกมากยงขน

8.1 โครงสรางคาสง Select Case

Select Case เปนโครงสรางคาสงทถกสรางขนเพอใชงานแทนคาสง If ในกรณทมการตรวจสอบเงอนไขหลายๆครง และเงอนไขของการเลอกทาขนอยกบคาของนพจนหนงๆเพยงนพจนเดยว รปแบบคาสง

Select Case testexpression

Case expressionlist1

statements

Case expressionlist2

Statements

Case Else

elsestatements

End Select

โดยท

Testexpression คอ นพจนทใชตรวจสอบหรอตวแปรทเกบคาทจะใชตรวจสอบ

Expressionlist คอ คาทอยในนพจนหรอตวแปรทเมอตรวจสอบแลวตรงกบคานจะทาคาสงใด ๆ ตามทกาหนด

เมอโปรแกรมกจะทาคาสงภายใต Case นนๆ แลวจะออกไปทาคาสงหลง End Select ตอไป แตถาคาของนพจนหรอตวแปรทใชตรวจสอบไมตรงกบกรณใดเลย โปรแกรมจะทาคาสงในสวนของ Case Else

ซงสวนนจะมหรอไมมกได

Page 179: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

154

ตวอยางท 8.1 การใชงาน Select Case โปรแกรมประเมนเกรด

ในตวอยางนจะเปนการใช Select case ตรวจสอบนพจนหรอคาทอยในตวแปร Grade ซงเปนตวแปรทเกบเกระทผใชปอนเขามา โดยผใชจะปอนเกรด A-F แลวโปรแกรมจะตรวจสอบวาเกรดทผใชปอนเขามานนอยในระดบการประเมนใด

ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 8.1 แสดงการวางคอนโทรลของโปรแกรมประเมนเกรด

ตารางท 8.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมประเมนเกรด

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtGrade

Button Name Button1

Text ประเมน

Label

Name lblGrade

AutoSize False

BorderStyle FixedSingle

การทางานของโปรแกรมจะทาการประเมนเกรดเมอมการคลกทปมประเมน ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม (Button1) และเขยนคาสงดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim grade As String

grade = txtGrade.Text

Select Case grade

Case "A"

lblDisplay.Text = "ดเดน"

Case "B"

lblDisplay.Text = "ด"

Page 180: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

155

Case "C"

lblDisplay.Text = "ผาน"

Case "D"

lblDisplay.Text = "พอใช"

Case "F"

lblDisplay.Text = "ไมผาน"

Case Else

lblDisplay.Text = "ปอนเกรดไมถกตอง"

End Select

End Sub

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองปอนเกรด (A-F) ลงใน TextBox จากนนใหคลกทปม ประเมน โปรแกรมเปรยบเทยบคาทอยในตวแปร Grade และแสดงผลท Label

รปท 8.2 แสดงผลลพธของโปรแกรมประเมนเกรด

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน

grade = txtGrade.Text

คาสงนจะเปนการสงคาทอยใน textbox ทชอ txtGrade มาเกบไวทตวแปร grade จากนนจะเปนการตรวจสอบคาทอยในนพจนหรอตวแปรของโปรแกรมดวยคาสง

Select Case grade

คาสง Select Case นจะเปนการตรวจสอบคาทอยในตวแปร Grade และทาการเปรยบเทยบคาในตวแปรดวยคาสง Case "A"

คาสงนหมายความวาถาคาทอยของนพจนหรอตวแปรเปน A จะใหทาคาสงทอยในบลอกของ Case นซงกคอ lblDisplay.Text = "ดเดน"

แตถาคาทอยในนพนจหรอตวแปรนไมใช A โปรแกรมกจะทาการตรวจสอบนพจนตอไป และถาไมตรงกบคาใดเลยทกาหนดไว โปรแกรมจะไปทาคาสง

Page 181: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

156

Case Else

lblDisplay.Text = "ปอนเกรดไมถกตอง"

ซงหมายความวาไมตรงกบกรณใดเลยทกาหนดไวกจะแสดงขอความ “ปอนเกรดไมถกตอง”

ในตวอยางนถาผใชปอนเกรดเปน a โปรแกรมกจะทาคาสง Case Else ดวยเพราะในทางคอมพวเตอรแลวอกษรตว A และ a จะไมถอวาเปนคาเดยวกน ดงนนในแตละCaseสามารถระบคาทจะเปรยบเทยบกบนพจนทดสอบไดมากกวา1คาโดยใหใชเครองหมาย comma (,)คนระหวางคาเหลานน ความหมายกคอ ถาหากนพจนทดสอบมคาตรงกบคาใดคาหนงกใหทาคาสงภายในสวนของ case นนๆ ใหปรบคาสงโปรแกรมดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim grade As String

grade = txtGrade.Text

Select Case grade

Case "A", "a"

lblDisplay.Text = "ดเดน"

Case "B", "b"

lblDisplay.Text = "ด"

Case "C", "c"

lblDisplay.Text = "ผาน"

Case "D", "d"

lblDisplay.Text = "พอใช"

Case "F", "f"

lblDisplay.Text = "ไมผาน"

Case Else

lblDisplay.Text = "ปอนเกรดไมถกตอง"

End Select

End Sub

หลงจากปรบคาสงโปรแกรมแลวใหทดสอบปอนคาทงทเปนอกษรตวเลกและตวใหญจะเหนวาผลลพธทไดจะตรงกน

Page 182: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

157

รปท 8.3 แสดงผลลพธของโปรแกรมประเมนเกรดเมอปรบคาสงแบบท 1

รปท 8.4 แสดงผลลพธของโปรแกรมประเมนเกรดเมอปรบคาสงแบบท 2

8.2 การระบคาเปนชวงใหกบ Select Case

คาทระบหลงคาสง Case นอกจากจะเปนคาเดยวๆ หรอเปนกลมของคาทคนดวย comma แลว ยงสามารถระบคาเปนชวงไดดวย ซงทาได 2 รปแบบคอ

-ใชคาสง Is รวมกบตวดาเนนการเปรยบเทยบ เพอนาคาของนพจนทดสอบมาเปรยบเทยบกบคาทระบโดยใชตวดาเนนการนน

-ใชคาสง To เพอกาหนดชวงคาตงแตคาหนงไปจนถงอกคาหนง

ตวอยางท 8.2 การใชคาสง Case Is โปรแกรมประเมนเกรด

ในตวอยางนจะเปนตวอยางโปรแกรมตรวจสอบชวงของคะแนนทผใชปอนเขามาโดยมชวงของคะแนนดงน

ตารางท 8.2 แสดงเงอนไขของโปรแกรมประเมนเกรด

คะแนนอยในชวง ประเมน

คะแนน >= 80 ดเดน

คะแนน >= 70 ด

คะแนน >= 60 ปานกลาง

คะแนน >= 50 พอใช

ไมตรงกบชวงใดเลย ไมผาน

Page 183: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

158

ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 8.5 แสดงการวางคอนโทรลของโปรแกรมประเมนเกรด ดวยคาสง Case Is

ตารางท 8.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมประเมนเกรด ดวยคาสง Case Is

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtScore

Button Name Button1

Text ประเมน

Label

Name lblDisplay

AutoSize False

BorderStyle FixedSingle

การทางานของโปรแกรมจะทาการประเมนคะแนนเมอมการคลกทปมประเมน ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม (Button1) และเขยนคาสงดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim score As Integer

score = txtGrade.Text

Select Case score

Case Is >= 80

lblDisplay.Text = "ดเดน"

Case Is >= 70

lblDisplay.Text = "ด"

Case Is >= 60

lblDisplay.Text = "ปานกลาง"

Case Is >= 50

lblDisplay.Text = "พอใช"

Page 184: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

159

Case Else

lblDisplay.Text = "ไมผาน"

End Select

End Sub

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองคะแนนลงใน TextBox จากนนใหคลกทปม ประเมน โปรแกรมเปรยบเทยบคาทอยในตวแปร Score และแสดงผลท Label

รปท 8.6 แสดงผลลพธของโปรแกรมประเมนเกรดดวยคาสง Case IS

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน

score = txtScore.Text

คาสงนจะเปนการสงคาทอยใน textbox ทชอ txtScore มาเกบไวทตวแปร Score จากนนจะเปนการตรวจสอบคาทอยในนพจนหรอตวแปรของโปรแกรมดวยคาสง

Select Case Score

คาสง Select Case นจะเปนการตรวจสอบคาทอยในตวแปร Score และทาการเปรยบเทยบคาในตวแปรดวยคาสง Case Is >= 80

คาสงนหมายความวาถาคาทอยของนพจนหรอตวแปรเปนมคามากกวาหรอเทากบ 80 จะใหทาคาสงทอยในบลอกของ Case นซงกคอ

lblDisplay.Text = "ดเดน"

แตถาคาทอยในนพนจหรอตวแปรนไมมากกวาหรอเทากบ Case แรกโปรแกรมกจะทาการตรวจสอบนพจนตอไป และถาไมตรงกบคาใดเลยทกาหนดไว โปรแกรมจะไปทาคาสง

Case Else

lblDisplay.Text = "ไมผาน"

ซงหมายความวาไมตรงกบกรณใดเลยทกาหนดไวกจะแสดงขอความ “ไมผาน”

Page 185: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

160

ตวอยางท 8.3 การใชคาสง To เพอตรวจสอบชวงคา โปรแกรมคานวณอตราภาษเงนได

ในตวอยางนจะเปนตวอยางโปรแกรมคานวณอตราภาษเงนไดบคคลธรรมดา โดยจะคานวณอตราภาษทตองเสยจากชวงของรายไดโดยมชวงของรายไดดงน

อตราภาษเงนไดบคคลธรรมดา

รายไดสทธตอป อตราภาษ

0-150,000 ยกเวน

150,001-300,000 5%

300,001-500,000 10%

500,001-750,000 15%

750,001-1,000,000 20%

1,000,001-2,000,000 25%

2,000,001-4,000,000 30%

มากกวา 4,000,001 35%

ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 8.7 แสดงการวางคอนโทรลของโปรแกรมคานวณภาษเงนไดบคคลธรรมดา

ตารางท 8.4 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมคานวณภาษเงนไดบคคลธรรมดา

คอนโทรล คณสมบต คาทกาหนด

TextBox Name TxtTot al

Button Name btnCalcTax

Text คานวณภาษ

Label

Name lblTax

Text 0.00

AutoSize False

Page 186: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

161

BackColor ActiveCaptionText (ดา)

ForeColor ButtonHighlight (ขาว)

การทางานของโปรแกรมจะทาการประเมนคะแนนเมอมการคลกทปมประเมน ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม (Button1) และเขยนคาสงดงน

Public Class Form1

Private Sub btnCalcTax_Click(sender As Object, e As EventArgs) Handles _ btnCalcTax.Click

Dim vTotal As Single

Dim vTax As Single

vTotal = txtTotal.Text

Select Case vTotal

Case 0 To 150000

vTax = 0

Case 150001 To 300000

vTax = vTotal * 0.05

Case 300001 To 500000

vTax = vTotal * 0.1

Case 500001 To 750000

vTax = vTotal * 0.15

Case 750001 To 1000000

vTax = vTotal * 0.2

Case 1000001 To 2000000

vTax = vTotal * 0.25

Case 2000001 To 4000000

vTax = vTotal * 0.3

Case Else

vTax = vTotal * 0.35

End Select

lblTax.Text = Format(vTax, "#,###.00")

End Sub

End Class

Page 187: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

162

เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและลองคะแนนลงใน TextBox จากนนใหคลกทปม ประเมน โปรแกรมเปรยบเทยบคาทอยในตวแปร Score และแสดงผลท Label

รปท 8.8 แสดงผลลพธโปรแกรมคานวณภาษเงนไดบคคลธรรมดา

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน

vTotal = txtTotal.Text

คาสงนจะเปนการสงคาทอยใน textbox ทชอ txtTotal มาเกบไวทตวแปร vTotal จากนนจะเปนการตรวจสอบคาทอยในนพจนหรอตวแปรของโปรแกรมดวยคาสง

Select Case vTotal

คาสง Select Case นจะเปนการตรวจสอบคาทอยในตวแปร vTotal และทาการเปรยบเทยบคาในตวแปรดวยคาสง Case 0 To 150000

คาสงนหมายความวาถาคาทอยของนพจนหรอตวแปรเปนมคาอยในชวง 0 – 150,000 จะใหทาคาสงทอยในบลอกของ Case นซงกคอ vTax = 0 ตวแปร vtax เปนตวแปรทเกบการคานวณภาษจากคาสงนคอไมมภาษทตองเสย แตถาคาทอยในนพนจหรอตวแปรนไมไดอยในชวงของ Case แรกโปรแกรมกจะทาการตรวจสอบนพจนตอไปคอ Case 150001 To 300000 ถาคาทตรวจสอบอยในชวงนโปรแกรมกจะทาคาสง vTax = vTotal * 0.05

คาสงนเปนคาสงทใชคานวณภาษโดยจะคานวณจากรายได * 5% (0.05) แตถาคาทอยในนพนจหรอตวแปรนไมไดอยใน Case นโปรแกรมกจะทาการตรวจสอบนพจนตอไปเรอย ๆ และถาไมตรงกบคาใดเลยทกาหนดไว โปรแกรมจะไปทาคาสง

Case Else

vTax = vTotal * 0.35

ซงหมายความวาไมตรงกบกรณใดในทนหมายถงเงนเดอนเกน 4,000,000 และเมอโปรแกรมทาการคานวณภาษแลวจะแสดงภาษทตองเสยดวยคาสง

lblTax.Text = Format(vTax, "#,###.00")

Page 188: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

163

8.3 การใชงานคอมโบบอกซ (ComboBox)

คอมโบบอกซเปนคอนโทรลทใชแสดงรายการแบบ drop-down ผใชจะตองคลกปมลกศรเพอดรายการอน ๆ แลวคลกเลอกรายการทมอยในคอมโบบอกซโดยปกตแลวจะนาคอมโบบอกซมาใชแสดงใหผใชรวาสามารถเลอกไดจากรายการทเตรยมไวใหเทานน แตอยางไรกตามผใชสามารถปอนคาอน ๆ ทไมมอยในตวเลอกไดแตไมเปนทนยมทา

รปท 8.9 แสดงตวอยาง ComBoBox

การเพมรายการในคอมโบบอกซสามารถทาได 2 วธ คอโดยการเพมรายการท properties Windows

และการเขยนคาสง

8.3.1 การเพมรายการในคอมโบบอกซท properties Windows

1. คลกเลอก ComboBox แลวคลก ทคณสมบต Items

รปท 8.10 แสดงขนตอนท 1 ของการเพมรายการในคอมโบบอกซ

Page 189: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

164

2. จะปรากฏหนาตางใหเพมรายการใหพมพรายการทตองการเพมในหนาตางนโดยท 1

รายการตอ 1 บรรทดเสรจแลวคลกปม OK รายการทอยใน ComboBox นนจะเรยกวาไอเทม (Item)

รปท 8.11 แสดงขนตอนท 2 ของการเพมรายการในคอมโบบอกซ

3. ทดลองรนโปรแกรมแลวคลกทลกศรของ ComboBox จะพบรายการทเพมไวใน ComboBox

รปท 8.12 แสดงผลลพธของการเพมรายการในคอมโบบอกซ

8.3.2 การเพมรายการใน ComboBox ดวยวธการเขยนคาสง

การเพมรายการใน ComboBox อกวธทผเขยนนยมจะทาเสมอเมอมการใช ComboBox ในโปรแกรม เนองจากเมอตองการกลบมาศกษาคาสงของโปรแกรมจะมองเหนไดทนทวาใน ComboBox แตละตวทใชในโปรแกรมมรายการอะไรอยบางทาใหเวลาเขยนคาสงควบคมไมตองเปดหนาจอสลบไปมาเพอดรายการใน ComboBox การเปดรายการใน ComboBox ในชวง Run Time น สวนใหญจะเขยนทเหตการณ Form_Load ของฟอรม ซงหมายถงเมอฟอรมถกสงใหทางานจะแสดงรายการใน ComboBox ขนมาเลย

รปแบบคาสง

ComboBoxName.Items.Add (items)

โดยท

ComboBoxName คอ ชอของ ComboBox

Items คอ รายการทตองการใหแสดงใน ComboBox ถาตองการแสดงเปนขอความใหใชสญลกษณ “ ” ครอบขอความนน

Page 190: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

165

ตวอยางท 8.4 การเพมรายการในคอมโบบอกซดวยวธการเขยนคาสง

ใหดบเบลคลกทพนทวางของฟอรมเพอเขาไปทเหตการณ Load ของฟอรม แลวพมพคาสงดงน

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

ComboBox1.Items.Add("ปรญญาตร")

ComboBox1.Items.Add("ปรญญาโท")

ComboBox1.Items.Add("ปรญญาเอก")

End Sub

End Class

ทดลองรนโปรแกรมแลวคลกทลกศรของ ComboBox จะพบรายการทเพมไวใน ComboBox เชนเดยวกบตวอยางท 8.3

จากคาสงขางตนสามารถอธบายไดวาพรอพเพอร Item จะใหคาเปนคอลเลคชนทบรรจไอเทมทงหมดของ ComboBoxไว คาสง Add ทเรยกใชตอจากพรอพเพอรต Items นนกคอเมธอดของคอลเลคชนทใชเพมไอเทมเขาไปในคอลเลคชน

คาวาคอลเลคชนนน หมายถง “กลม” ของอะไรสกอยาง สาหรบ .NET Framework แลว คอลเลคชนคอออบเจคทเปนตวแทนของ “กลมของออบเจค” หรอคดงายๆวา คอลเลคชนกคอทบรรจออบเจคอนๆเอาไวอกท คอนโทรลจานวนมากใชคอลเลคชนเพอแสดงหรอเปดเผย (expose) ออบเจคยอยภายในตวมนออกมา ซง ComboBox คอหนงในนน โดยพรอพเพอรต Items ของ ComboBox จะใหคาเปนคอลเลคชนทบรรจไอเทมทงหมดของ ComboBox ไว (พรอมเลศ หลอวจตร, 2554)

8.3.3 การเขาถงคาของรายการในคอมโบบอกซ

Item ทอยในคอนเลคชนของคอมโบบอกซจะถกจดเกบเปนแบบอารเรยการเขาถง Item แตละตวจะตองอาศยอนเดกซ (index) โดยท Item แรกจะมคาอนเดกซเปน 0 และตวถดไปเปน 1, 2, ... ตามลาดบ

รปแบบคาสง

ComboBoxName.SelectedIndex

ตวอยางท 8.5 การเขาถงรายการในคอมโบบอกซ

ในตวอยางนจะนาโปรแกรมทสรางไวจากตวอยางท 8.4 มาพฒนาตอเมอมการคลกเลอกรายการในคอมโบบอกซโปรแกรมจะแสดง MessageBox แสดงอนเดกซของรายการทเลอก ใหดบเบลคลกทคอนโทรลคอมโบบอกซบนฟอรมทเหตการณ SelectedIndexChanged g เขยนคาสงดงน

Page 191: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

166

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles _

ComboBox1.SelectedIndexChanged

MessageBox.Show(ComboBox1.SelectedIndex)

End Sub

ชดคาสงทอยในเหตการณ SelectedIndexChanged เกดขนเมอคาของพรอพเพอรต SelectedIndex เปลยนไปหรอมการคลกเลอกรายการในคอมโบบอกซ

คาสง SelectedIndex ทอยหลงชอของคอมโบบอกซจะ ใหคา Index ของไอเทมทถกเลอก (Index ของไอเทมแรกจะเปน 0 และสาหรบไอเทมถดไปจะเปน 1, 2, 3, … ตามลาดบ) ถาไมมไอเทมใดถกเลอกเลยจะใหคาเปน -1

ทดลองรนโปรแกรมแลวคลกเลอกรายการในคอมโบบอกซ

1.คลกเลอกรายการในคอมโบบอกซ

2. ผลลพธเมอเลอกรายการท 1

3. ผลลพธเมอเลอกรายการท 2

รปท 8.13 แสดงผลลพธการเขาถงรายการใน Combo Box

8.3.4 การแสดงคารายการทถกเลอก

ในกรณทตองการใหโปรแกรมแสดงคารายการทถกเลอกในลกษณะขอความเมอมการเลอกรายการในคอมโบบอกซสามารถเขยนคาสงได 2 แบบคอ

ตวอยางคาสง

MessageBox.Show (ComboBox1.Text)

จากตวอยางคาสงขางตนเปนการใชงานคณสมบต Text ของคอมโบบอกซ คาสงนให Message Box แสดงขอความทปรากฏอยในคอมโบบอกซ

ตวอยางคาสง

MessageBox.Show(ComboBox1.SelectedItem)

จากตวอยางคาสงแบบท 2 ใชคาสง SelectedItem หาคาวาไอเทมทถกเลอกเปนขอความอะไรและแสดงใน Message Box จากตวอยางทง 2 แบบนผลการทางานของโปรแกรมจะเหมอนกนดงรป

Page 192: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

167

รปท 8.14 แสดงผลลพธของคาสงแสดงรายการทถกเลอกของ Combo Box

8.3.5 ตวอยางคาสงอน ๆ ของคอมโบบอกซ

การหาจานวนในคอมโบบอกซดวยคาสง Count

ตวอยางคาสง

Dim x As Integer

x = ComboBox1.Items.Count

Label1.Text = x

จากตวอยางการใชคาสง Count เพอนบจานวนดานบนเปนการนบจานวนรายการทอยในคอลเลคชนของคอมโบบอกซเมอนบแลวนาคามาเกบไวทตวแปร x แลวใหแสดงคาในตวแปร x ท Label1

การลบรายการในคอมโบบอกซดวยคาสง Remove คาสงนเปนการลบรายการโดยระบขอความทมอยในคอมโบบอกซ

ตวอยางคาสง

ComboBox1.Items.Remove("ปรญญาตร")

จากตวอยางการใชคาสง remove เปนการลบรายการทมคาวา ปรญญาตร ออกจากคอมโบบอกซ ซงคอมโบบอกซตองมรายการนอย

การลบรายการโดยระบอนเดกซของขอความทตองการลบดวยคาสง RemoveAt

ตวอยางคาสง

ComboBox1.Items.RemoveAt(0)

จากตวอยางการใชคาสง RemoveAt เปนการลบรายการตวแรกทอยในคอมโบบอกซโดยสามารถระบอนเดกซทตองการลบดวยการใสตวเลขอนเดกซของรายการในวงเลบ

Page 193: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

168

การลบรายการทงหมดดวยคาสง Clear

ตวอยางคาสง

ComboBox1.Clear

จากตวอยางการใชคาสง Clear ทกรายการทอยในคอมโบบอกซจะถกลบทงหมด

8.4 การใชงานคอนโทรลลสตบอกซ (ListBox)

ลสตบอกซเปนคอนโทรลทใชแสดงกลมของตวเลอกหรอไอเทม (Item) เพอใหผใชเลอกไอเทมทตองการแบบเดยวกบคอมโบบอกซ สงทแตกตางกนคอลสตบอกซจะแสดงรายการใหหมดทงหมดโดยไมตองคลกลกศรแบบคอมโบบอกซ ถารายการทอยในลสตบอกซมมากจนไมสามารถแสดงไดครบกจะมสโกรลบารเพอใหเลอนดรายการได

รปท 8.15 แสดงตวอยางลสตบอกซ

การเพมรายการในลสตบอกซสามารถทาได 2 วธเชนเดยวกบคอมโบบอกซ คอโดยการเพมรายการท properties Windows และการเขยนคาสง

8.4.1 การเพมรายการในลสตบอกซ ท properties Windows

1. คลกเลอกลสตบอกซแลวคลก ทคณสมบต Items

2. จะปรากฏหนาตางใหเพมรายการใหพมพรายการทตองการเพมในหนาตางนโดยท 1 รายการตอ 1 บรรทดเสรจแลวคลกปม OK รายการทอยในลสตบอกซนนจะเรยกวาไอเทม (Item)

Page 194: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

169

รปท 8.16 แสดงขนตอนการเพมรายการในลสตบอกซทางหนาตางคณสมบต

8.4.2 การเพมรายการใน ListBox ดวยวธการเขยนคาสง

การเพมรายการใน ListBox อกวธทผเขยนนยมจะทาเสมอเมอมการใช ListBox ในโปรแกรม เนองจากเมอตองการกลบมาศกษาคาสงของโปรแกรมจะมองเหนไดทนทวาใน ListBox แตละตวทใชในโปรแกรมมรายการอะไรอยบางทาใหเวลาเขยนคาสงควบคมไมตองเปดหนาจอสลบไปมาเพอดรายการใน ListBox การเปดรายการใน ListBox ในชวง Run Time น สวนใหญจะเขยนทเหตการณ Form_Load ของฟอรม ซงหมายถงเมอฟอรมถกสงใหทางานจะแสดงรายการใน ListBox ขนมาเลย

รปแบบคาสง

ListBoxName.Items.Add (items)

โดยท

ListBoxName คอ ชอของ ListBox

Items คอ รายการทตองการใหแสดงใน ListBox ถาตองการแสดงเปนขอความใหใช สญลกษณ “ ” ครอบขอความนน

ตวอยางท 8.6 การเพมรายการใน ListBox ดวยวธการเขยนคาสง

ใหดบเบลคลกทพนทวางของฟอรมเพอเขาไปทเหตการณ Load ของฟอรม แลวพมพคาสงดงน

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

ListBox1.Items.Add("อาทตย")

ListBox1.Items.Add("จนทร")

ListBox1.Items.Add("องคาร")

ListBox1.Items.Add("พธ")

ListBox1.Items.Add("พฤหสบด")

Page 195: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

170

ListBox1.Items.Add("ศกร")

ListBox1.Items.Add("เสาร")

End Sub

ทดลองรนโปรแกรมแลวคลกทลกศรของ ListBox จะพบรายการทเพมไวใน ListBox เชนเดยวกบตวอยางท 8.5

8.4.3 การเขาถงคาของรายการใน

Item ทอยในคอนเลคชนของลสตบอกซจะถกจดเกบเปนแบบอารเรยการเขาถง Item แตละตวจะตองอาศยอนเดกซ (index) โดยท Item แรกจะมคาอนเดกซเปน 0 และตวถดไปเปน 1, 2, ... ตามลาดบ

รปแบบคาสง

ListBoxName.SelectedIndex

ตวอยางท 8.7 การเขาถงรายการในลสตบอกซ

ในตวอยางนจะนาโปรแกรมทสรางไวจากตวอยางท 8.6 มาพฒนาตอเมอมการคลกเลอกรายการในลสตบอกซโปรแกรมจะแสดง MessageBox แสดงอนเดกซของรายการทเลอก ใหดบเบลคลกทคอนโทรลลสตบอกซบนฟอรมทเหตการณ SelectedIndexChanged g เขยนคาสงดงน

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles

ListBox1.SelectedIndexChanged

MessageBox.Show(ListBox1.SelectedIndex)

End Sub

ชดคาสงทอยในเหตการณ SelectedIndexChanged เกดขนเมอคาของพรอพเพอรต SelectedIndex เปลยนไปหรอมการคลกเลอกรายการในลสตบอกซ

คาสง SelectedIndex ทอยหลงชอของลสตบอกซจะ ใหคา Index ของไอเทมทถกเลอก (Index ของไอเทมแรกจะเปน 0 และสาหรบไอเทมถดไปจะเปน 1, 2, 3, … ตามลาดบ) ถาไมมไอเทมใดถกเลอกเลยจะใหคาเปน -1

ทดลองรนโปรแกรมแลวคลกเลอกรายการในลสตบอกซ

Page 196: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

171

1.คลกเลอกรายการในลสตบอกซ

2. ผลลพธเมอเลอกรายการท 1

3. ผลลพธเมอเลอกรายการท 2

รปท 8.17 แสดงการเขาถงรายการของลสตบอกซ

8.4.4 การแสดงคารายการทถกเลอก

ในกรณทตองการใหโปรแกรมแสดงคารายการทถกเลอกในลกษณะขอความเมอมการเลอกรายการในลสตบอกซสามารถเขยนคาสงได 2 แบบคอ

ตวอยางคาสง

MessageBox.Show (ListBox1.Text)

จากตวอยางคาสงขางตนเปนการใชงานคณสมบต Text ของลสตบอกซ คาสงนให Message Box แสดงขอความทปรากฏอยในลสตบอกซ

ตวอยางคาสง

MessageBox.Show(ListBox1.SelectedItem)

จากตวอยางคาสงแบบท 2 ใชคาสง SelectedItem หาคาวาไอเทมทถกเลอกเปนขอความอะไรและแสดงใน Message Box จากตวอยางทง 2 แบบนผลการทางานของโปรแกรมจะเหมอนกนดงรป

รปท 8.18 แสดงผลลพธของคาสงทง 2 แบบ

8.4.5 ตวอยางคาสงอน ๆ ของลสตบอกซ

Page 197: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

172

การหาจานวนในลสตบอกซดวยคาสง Count

ตวอยางคาสง

Dim x As Integer

x = ListBox1.Items.Count

Label1.Text = x

จากตวอยางการใชคาสง Count เพอนบจานวนดานบนเปนการนบจานวนรายการทอยในคอลเลคชนของลสตบอกซเมอนบแลวนาคามาเกบไวทตวแปร x แลวใหแสดงคาในตวแปร x ท Label1

การลบรายการในลสตบอกซดวยคาสง Remove

คาสงนเปนการลบรายการโดยระบขอความทมอยในลสตบอกซ

ตวอยางคาสง

ListBox1.Items.Remove("ปรญญาตร")

จากตวอยางการใชคาสง remove เปนการลบรายการทมคาวา ปรญญาตร ออกจากลสตบอกซ ซงลสตบอกซตองมรายการนอย

การลบรายการโดยระบอนเดกซของขอความทตองการลบดวยคาสง RemoveAt

ตวอยางคาสง

ListBox1.Items.RemoveAt(0)

จากตวอยางการใชคาสง RemoveAt เปนการลบรายการตวแรกทอยในลสตบอกซโดยสามารถระบอนเดกซทตองการลบดวยการใสตวเลขอนเดกซของรายการในวงเลบ

การลบรายการทงหมดดวยคาสง Clear

ตวอยางคาสง

ListBox1.Clear

จากตวอยางการใชคาสง Clear ทกรายการทอยในลสตบอกซจะถกลบทงหมด

Page 198: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

173

ตวอยางท 8.8 โปรแกรมขายสนคาแบบขายสงและขายปลก

ในตวอยางนจะเปนการประยกตใชคอมโบบอกซและลสตบอกซ ใหสรางโปรแกรมขายสนคาโดยมประเภทการขายแบบขายปลกและขายสง ประเภทการขายแบบขายปลกคดราคาสนคาชนละ 300 บาท สวนขายสงคดชนละ 250 บาท ใหสรางหนาจอโปรแกรมดงน

รปท 8.19 แสดงการวางคอนโทรลของโปรแกรมขายสนคา

ตารางท 8.5 แสดงคณคอนโทรลและคณสมบตของคอนโทรล

คอนโทรล คณสมบต คาทกาหนด

ComboBox Name cboSaleType

ListBox Name lstProducts

ListBox Name lstSelectProducts

Button Name btnAdd

Button Name btnRemove

Button Name btnClear

Button Name btnCalc

Label

Name lblNetPrice

AutoSize False

BackColor ActiveCaptionText (ดา)

ForeColor ButtonHighlight (ขาว)

cboSaleType

btnRemove

btnClear

btnCalc

lblNetPrice

lstProducts

lstSelectProducts

btnAdd

Page 199: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

174

1. เขยนคาสงเพอเพมรายการในคอมโบบอกซและลสตบอกซทเหตการณ Load ของฟอรมดงน

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

cboSaleType.Items.Add("ขายปลก")

cboSaleType.Items.Add("ขายสง")

With lstProducts

.Items.Add("เสอโปโล")

.Items.Add("เสอยด")

.Items.Add("กางเกงขาสน")

.Items.Add("กางเกงขายาว")

.Items.Add("กระโปง")

.Items.Add("ชดนอน")

End With

End Sub

คาสง With เปนการยอคาสงจะใชในกรณทมการเขยนคาสงกบคอนโทรลตวเดยวหลาย ๆ คาสงในกลมของคาสงเดยวกน การใช with จะตามดวยชอของคอนโทรลและคาสงบรรทดตอไปถาตองการเขยนคาสงกบคอนโทรลตวนน ๆ ไมตองเรมทชอของคอนโทรลอกใหตามดวยคาสงตอไปไดเลย เมอจบชดคาสงของคอนโทรลนนจะปดดวย End With

2. เขยนคาสงทปม เพมสนคา ดวยคาสง

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click

lstSelectProduct.Items.Add(lstProduct.SelectedItem)

End Sub

คาสงนจะเปนการเพมสนคาทคลกเลอกจากลสตรายการสนคา (lstProducts) ไปเพมทรายการสนคาทเลอก (lstSelectProducts)

Page 200: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

175

3. เขยนคาสงลบรายการสนคาดวยคาสง

Private Sub btnRemove_Click(sender As Object, e As EventArgs) Handles btnRemove.Click

lstSelectProduct.Items.RemoveAt(lstSelectProduct.SelectedIndex)

End Sub

4. เขยนคาสงลางรายการสนคาทงหมดทปม ลางทงหมด

Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click

lstSelectProduct.Items.Clear()

End Sub

5. เขยนคาสงคานวณราคาสนคาทปม คานวณเงน

Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click

Dim vNetPrice As Single

If cboSaleType.SelectedIndex = 0 Then

vNetPrice = CInt(lstSelectProduct.Items.Count) * 300

ElseIf cboSaleType.SelectedIndex = 1 Then

vNetPrice = CInt(lstSelectProduct.Items.Count) * 250

Else

MessageBox.Show("กรณาเลอกประเภทการขาย")

End If

lblNetPrice.Text = vNetPrice

End Sub

คาสงนจะตรวจสอบเงอนไขเมอมการเลอกรายการคอมโบบอกซรายการแรก (ขายปลก) จะคานวณราคาสนคาดวยการนบจานวนในลสตบอกซดวยคาสง lstSelectProduct.Items.Count แลวนาไปคณดวย 300

(ราคาตอชน) แตถาเลอกรายการทสอง (ขายสง) จะคานวณราคาสนคาดวยการนบจานวนในลสตบอกซแลวนาไปคณดวย 250 และไมเลอกรายการใดเลยจะแสดง MessageBox แจงเตอน

จากทดลองรนโปรแกรมเพอทดสอบการทางาน

Page 201: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

176

ผลการรนโปรแกรม

เลอกรายการในคอมโบบอกซ

คลกเลอกรายการสนคาแลวคลกปม เพมสนคา

การลบรายการสนคาในลสตบอกซ

โปรแกรมแสดงราคารวมในถาเลอกขายปลก

โปรแกรมแสดงราคารวมในถาเลอกขายสง

รปท 8.20 แสดงการทางานของโปรแกรมขายสนคา

สรป

Select Case เปนโครงสรางคาสงทถกสรางขนเพอใชงานแทนคาสง If ในกรณทมการตรวจสอบเงอนไขหลายๆครง และเงอนไขของการเลอกทาขนอยกบคาของนพจนหนงๆเพยงนพจนเดยว

คาทระบหลงคาสง Case สามารถใชคาสง Is รวมกบตวดาเนนการเปรยบเทยบ เพอนาคาของนพจนทดสอบมาเปรยบเทยบกบคาทระบโดยใชตวดาเนนการนน หรอใชคาสง To เพอกาหนดชวงคาตงแตคาหนงไปจนถงอกคาหนง

Page 202: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

177

ComboBox เปนคอนโทรลทใชแสดงรายการแบบ drop-down ผใชจะตองคลกปมลกศรเพอดรายการอน ๆ แลวคลกเลอกรายการทมอยใน ComboBox

ลสตบอกซจะแสดงรายการใหหมดทงหมดโดยไมตองคลกลกศรแบบคอมโบบอกซ ถารายการทอยในลสตบอกซมมากจนไมสามารถแสดงไดครบกจะมสโกรลบารเพอใหเลอนดรายการได

แบบฝกหด

1. โครงสราง Select Case เหมาะกบโจทยโปรแกรมแบบใด

2. ใหออกแบบและเขยนโปรแกรม การคดคาคอมมชชนจากรายการสนคาทพนกงานแตละคนขายได โดยมขอกาหนดดงน

2.1 พนกงานในรานม 3 คน กาหนดชอของพนกงานแตละคนและแสดงในคอมโบบอกซ

2.2 รายการสนคาม 7 รายการใหกาหนดรายการสนคาและราคาแตละรายการแสดงในลสตบอกซ

2.3 สามารถเลอกรายการสนคาทพนกงานขายไดมากกวา 1 รายการ

2.4 คานวณราคารวมของรายการสนคาทพนกงานขายได

2.5 คานวณคาคอมมชชนได 3 ระดบ โดยใหนกศกษากาหนดเงอนไขของแตละชวงเอง

Page 203: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

178

เอกสารอางอง

พรอมเลศ หลอวจตร. (2554). คมอเรยน visual basic 2010. กรงเทพฯ : โปรวชน . สรสทธ ควประสพศกด นนทน แขวงโสภา. (2546). อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน.

Select...Case Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/cy37t14y.aspx

Page 204: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 9

หวขอเนอหาประจาบท 9.1 โครงสรางคาสง For…Next

9.2 การใชงาน Step

9.3 การใชงาน Step –

9.4 โครงสรางคาสง For Each…Next

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายโครงสรางคาสง For … Next ได

2. เขยนคาสงโปรแกรมดวยโครงสราง For … Next ได

3. อธบายคาสง Step ได

4. อธบายโครงสรางคาสง For Each…Next ได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 205: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

180

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 206: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

181

บทท 9 โครงสรางการเขยนโปรแกรมแบบทาซาดวยโครงสรางคาสง For

การเขยนโปรแกรมแบบทาซ าหรอเรยกอกอยางหนงวาการวนลป การทางานของโปรแกรมในลกษณะนจะใหโปรแกรมรนชดของคาสงซ าแลวซ าอก การสงใหชดคาสงทาซ าสามารถกาหนดไดวาจะใหทาซ าคาสงตามจานวนรอบทกาหนด หรอทาซ าในขณะทเงอนไขบางอยางเปนจรงหรอเทจกได

9.1 โครงสรางคาสง For…Next

คาสง For…Next เปนโครงสรางคาสงทเขาใจไดงายทสด ใชในกรณททราบจานวนครงทแนนอนในการทาซ า เชน การหาผลรวมของตวเลขจานวน 10 ตว, n ตว หรอการหาคาคอมมชชนของยอดขายพนกงานงานทงหมดในบรษท มรปแบบคาสงคอ รปแบบคาสง For counter = startNumber To endNumber [Step] One or more VB statements [Exit For] Next counter โดยท Counter คอ ตวแปรทใชนบจานวนรอบ startNumber คอ คาเรมตนของการนบ endNumber คอ คาสนสดของการนบ

[Step] คอ คาทเพมขนหรอลดลงของตวแปรในแตละรอบ(มหรอไมกได) [Exit For] คอ คาสงทใหเลกการวนรอบ(มหรอไมกไดแลวแตเงอนไข)

Page 207: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

182

For Next (Step -)

ตวแปรเคานเตอร (i)= คาเรมตน (Start)

มคาสง Exit For?

ชดคาสง

i = i - Step

(Step มคาดฟอลต = 1)

ออกจากลป

i < คาสนสด(Stop)

Yes

No

No

Yes

Next

For Step -

[Exit For]

For Next (Step +)

ตวแปรเคานเตอร (i)= คาเรมตน (Start)

มคาสง Exit For?

ชดคาสง

i = i + Step

(Step มคาดฟอลต = 1)

ออกจากลป

i > คาสนสด(Stop)

Yes

No

No

Yes

Next

For Step +

[Exit For]

รปท 9.1 แสดงผงงานของโครงสรางคาสง For … Next

ทมา : (สรสทธ ควประสพศกดและนนทน แขวงโสภา , 2546 : 93)

Page 208: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

183

สรสทธ ควประสพศกดและนนทน แขวงโสภา (2546 : หนา 94) ไดอธบายโครงสรางคาสง For ไววา ตวแปรทอยหลง For จะเปนตวควบคมการวนรอบของลป เมอโปรแกรมเรมตนทางานในคาสง For จะเปรยบเทยบคาระหวางคาเรมตนและคาสนสด ถาคาเรมตนไมเทากบคาสนสดลป For จะเรมทางาน

ชอตวแปรหลงคาสง For จะเปรยบเสมอนเคานเตอร (counter) ทใชนบจานวนครงในการวนลปโดยอตโนมต ซงจะมคาเรมตนเทากบ คาเรมตน และจะหยดทางานเมอตวแปรเคานเตอรนมคาเกนกวา คาสนสด หรอนอยกวาคาสนสดหากกาหนดใหคาของเคานเตอรลดลงในแตละรอบโดยใช Step เปนคาลบโดยโปรแกรมจะทางานตามชดคาสงทอยระหวางคาสง For กบคาสง Next และถาหากโปรแกรมพบคาสง Exit For โปรแกรมจะหลดออกจากลปทนท โดยไมสนใจวาจะวนรอบครบตามจานวนรอบทกาหนดหรอไม ตวอยางท 9.1 การหาผลรวมของเลขจานวนเตม 5 ตว

ในตวอยางนจะเปนการใชคาสง For … Next เพอหาผลรวมของตวเลขจากการปอนของผใชผานทาง InputBox จานวน 5 ตว ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 9.2 แสดงการวางคอนโทรลของโปรแกรมหาผลรวม

ตารางท 9.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมหาผลรวม

คอนโทรล คณสมบต (properties) คาทกาหนด Form Text หาผลรวมของตวเลข Button Name btnStart

Text เรมตน โปรแกรมจะทางานเมอมการคลกทปมเรมตนจะปรากฏ InputBox เพอใหผใชปอนตวเลข ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปมเรมตน (btnStart) และเขยนคาสงดงน

Page 209: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

184

Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click Dim i As Short Dim SumValue As Integer

SumValue = 0 For i = 1 To 5 SumValue += CInt(InputBox("ใสคาตวท " & i)) Next MessageBox.Show(" ผลรวม" & " = " & SumValue) End Sub สงใหโปรแกรมทางานโดยแลวคลกทปม จะปรากฏ Input Box ใหปอนคาทงหมด 5 ครง และเมอปอนคาครบแลวจะปรากฏ Message Box แสดงผลรวมของจานวนตวเลขทปอนเขาไป

รปท 9.3 แสดงการทางานของโปรแกรมหาผลรวมตวเลขจานวนเตม

จากคาสงของโปรแกรมสามารถอธบายไดดงน Dim i As Short Dim SumValue As Integer

คาสงประกาศตวแปรโดยทตวแปร i ทาหนาทเปนตวนบจานวนรอบของการทาซ าและตวแปร SumValue ใชเกบคาผลรวมของตวเลข และกาหนดคาเรมตนของตวแปร SumValue มคาเรมตนเปน 0 ดวยคาสง SumValue = 0

Page 210: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

185

For i = 1 To 5 SumValue += CInt(InputBox("ใสคาตวท " & i)) Next คาสง For i=1 to 5 หมายถงจะมการวนรอบทาคาสงทอยในลปทงหมด 5 รอบคาสงทอยในลปคอ SumValue += CInt(InputBox("ใสคาตวท " & i)) คาสงนจะเปนการรบคาจาก Inputbox เมอผใชปอนคาลงใน Inputbox คานนจะถกนามาบวกเพมเขาไปในตวแปร sumValue โดยสามารถอธบายการบวกเพมไดดวยตารางท ..

ตารางท 9.2 แสดงการบวกเพมคาเขาไปในตวแปร SumValue

รอบท คาทปอน คาทอยในตวแปร SumValue 1 5 5 2 2 7 3 6 18 4 2 20 5 1 21

และเมอทาซ าครบตามจานวนรอบทกาหนดแลวจะแสดงผลลพธออกมาทาง MessageBox ดวยคาสง MessageBox.Show("ผลรวม" & " = " & SumValue)

ตวอยางท 9.2 หาผลรวมของตวเลขจานวน n ตว (โดยสามารถกาหนดคา n ไดเอง)

ตวอยางนจะเปนการใชประยกตใชคาสง For … Next จากตวอยางท 7.1 เพอหาผลรวมของตวเลขจากการปอนของผใชผานทาง InputBox จานวนกตวกไดแลวแตผใชกาหนด ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 9.4 แสดงการวางคอนโทรลของโปรแกรมหาผลรวม n ตว

Page 211: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

186

ตารางท 9.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมหาผลรวม n ตว

คอนโทรล คณสมบต (properties) คาทกาหนด Form Text หาผลรวมของตวเลข Button Name btnStart

Text เรมตน การทางานของโปรแกรมจะเมอมการคลกทปมเรมตนจะปรากฏ InputBox เพอใหผใชปอนจานวนตวเลขทตองการหาผลรวมและปอนตวเลขแตละตวจนครบจานวนตามทผใชปอน ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปมเรมตน(btnStart) และเขยนคาสงดงน Private Sub btnStart_Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click Dim i As Short Dim SumValue As Integer SumValue = 0

N = Cint(InputBox(“ใสจานวนตวเลขทตองการหาผลรวม”)) For i = 1 To n SumValue += CInt(InputBox("ใสคาตวท " & i)) Next MessageBox.Show("ผลรวม" & " = " & SumValue) End Sub การทางานของโปรแกรมเมอสงใหโปรแกรมทางานแลวคลกทปม จะปรากฏ Input Box ใหปอนคาจานวนตวเลขทตองการหาผลรวม (ทาซ าจานวนรอบตามทกาหนด)

รปท 9.5 แสดงการทางานของโปรแกรมหาผลรวมตวเลข n ตว

เมอผใชคลกทปม OK ของ Input Box จะปรากฏ Input Box เพอใหใสคาตวเลข คาทใหใสจะมจานวนครงตามทปอนในชองจานวนตวเลขทตองการหาผลรวม

Page 212: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

187

รปท 9.6 แสดงผลลพธเมอปอนคาครบตามจานวนทกาหนด

จากคาสงของโปรแกรมสามารถอธบายไดดงน n = Cint(InputBox(“ใสจานวนตวเลขทตองการหาผลรวม”))

คาสงรบคาจาก Input box มาเกบไวทตวแปร nโดยทตวแปร n ทาหนาทเปนตวเกบคาสนสดของการนบ (

endNumber) For i = 1 To n SumValue += CInt(InputBox("ใสคาตวท " & i)) Next คาสง For i=1 to n หมายถงจะมการวนรอบทาคาสงทอยในลปทงหมด n รอบคาสงทอยในลปคอ SumValue += CInt(InputBox("ใสคาตวท " & i))

ตวอยางท 9.3 แสดงวนทในคอมโบบอกซ

ตวอยางนเปนการใชคาสง For …Next แสดงวนทตงแต 1 ถง 31 ในคอมโบบอกซ ใหสรางฟอรมและวางคอนโทรลดงน

รปท 9.7 แสดงการวางคอนโทรลของโปรแกรมแสดงวนท

Page 213: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

188

ตารางท 9.4 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงวนท

คอนโทรล คณสมบต (properties) คาทกาหนด Form Text แสดงตวเลขใน Combo Box Combo Box Name cboDate Label Text วนท การทางานของโปรแกรมจะใหตวเลข 1 ถง 31 อยในรายการของคอมโบบอกซเมอเปดฟอรมขนมา ใหเขยนคาสงดงน

รปท 9.8 แสดงคาสงโปรแกรมของโปรแกรมแสดงวนท

เมอสงใหโปรแกรมทางาน คลกท Combo Box จะปรากฏตวเลขตงแต 1-31 ใน Combo Box

รปท 9.9 แสดงการทางานของโปรแกรมแสดงวนท

Page 214: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

189

9.2 การใชงาน Step

การทางานของลป For บางครงไมจาเปนจะตองเรมตนท 1 และไมจาเปนตองเพมคาของตวแปรทเปนเคานเตอรทละ 1 เสมอไป สามารถกาหนดคาเรมตนและการเพมคาของเคานเตอรไดตามทตองการโดยใชคาสง Step ตวอยางท 9.4 การใชคาสง Step

สรางฟอรมและกาหนดคณสมบตดงน

รปท 9.10 แสดงการวางคอนโทรลของโปรแกรมการใชงาน Step

ตารางท 9.5 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรม Step

เขยนคาสงทปม btnStep ดงน

รปท 9.11 แสดงคาสงโปรแกรม Step

คอนโทรล คณสมบต (properties) คาทกาหนด

Button Name btnStep Text For Step 7

ListBox Name lstData

Page 215: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

190

1. สงใหโปรแกรมทางานแลวคลกทปม ผลลพธของโปรแกรมจะแสดงดงรปดานลาง

รปท 9.12 แสดงการทางานของคาสง Step

จากตวอยางขางตนสามารถอธบายคาสง For intCount = 4 To 80 Step 4 ไดคอเปนกาหนดคาเรมตนของตวแปรใหเรมท 4 และคาสนสดท 80 โดยเพมคาของตวแปร intCount ขนทละ 4 ตอการวน 1 รอบดวยคาสง Step 4 และเพมคา intCount เขาไปในรายการของ Listbox ดวยคาสง lstData.Items.Add (intCount) 9.3 การใชงาน Step –

ในกรณทตองการใหลปทางานแบบยอนกลบ หรอลดคาของตวแปรทเปนคาเรมตนลงตามคาทตองการ สามารถใชคาสง Step – เพอกาหนดการลดคาของตวแปรในแตละการวนรอบได ตวอยางท 9.5 การใชงานคาสง Step –

สรางฟอรมและกาหนดคณสมบตดงน

รปท 9.13แสดงการวางคอนโทรลของการใชคาสง Step –

Page 216: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

191

ตารางท 9.6 แสดงคอนโทรลและคณสมบตของคอนโทรล

เขยนคาสงทปม btnStep ดงน

รปท 9.14 แสดงการการเขยนคาสง Step -

สงใหโปรแกรมทางานแลวคลกทปม ผลลพธของโปรแกรมจะแสดงดงรปดานลาง

รปท 9.15 แสดงการทางานของคาสง Step -

จากตวอยางขางตนสามารถอธบายคาสง For intCount = 10 To 0 Step -1 ไดคอเปนกาหนดคาเรมตนของตวแปรใหเรมท 10 และคาสนสดท 0 โดยลดคาของตวแปร intCount ทละ 1 ตอการวน 1 รอบดวยคาสง Step -1และเพมคา intCount เขาไปในรายการของ Listbox ดวยคาสง lstData.Items.Add (intCount)

คอนโทรล คณสมบต (properties) คาทกาหนด

Button Name btnStep Text For Step 7

ListBox Name lstData

Page 217: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

192

9.4 โครงสรางคาสง For Each…Next

ในการทางานของโปรแกรมบางครงอาจไมทราบจานวนรอบทตองการทาซ าหรอจานวนสมาชกทแนนอนของกลมขอมล คาสง For Each…Next เปนคาสงทใชวนลปเพอเขาถงสมาชกแตละตวของกลมขอมล ทไมทราบจานวนสมาชกทแนนอน (หรอทราบจานวนสมาชกทแนนอนกได) รปแบบการใชงานของ For Each…Next เปนดงน รปแบบคาสง For Each element [ As datatype ] In group One or more VB statements [ Exit For ]

Next [ element ]

โดยท Element คอ ชอตวแปร Group คอ ชออารเรยหรอคอลเลคชน ตวอยางท 9.6 การใชงานคาสง For Each…Next

ตวอยางนจะเปนการใชคาสง For Each…Next วนเพอเขาถงสมาชกของตวแปรทเปนชนดอาเรยแตละตว สรางฟอรมและกาหนดคณสมบตดงน

รปท 9.16 แสดงการวางคอนโทรล

Page 218: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

193

ตารางท 9.7 แสดงคอนโทรลและคณสมบตของคอนโทรล

การทางานของโปรแกรมจะทาการแสดงรายการทอยในตวแปรชนดอาเรยเมอมการคลกทปม Display ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม (Button1) และเขยนคาสงดงน Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnDisplay.Click Dim strSubject() As String = {"การเขยนโปรแกรมเบองตน", "การเขยนโปรแกรมชนสง", _ "วเคราะหและออกแบบระบบ", "การบรหารระบบคอมพวเตอร", _ "การเขยนโปรแกรมเบองตน"} For Each SubjectName In strSubject lstSubject.Items.Add(SubjectName) Next End Sub เมอเขยนคาสงเสรจแลวใหรนโปรแกรมและคลกทปม Display ผลลพธของโปรแกรมเปนดงรปดานลาง

รปท 9.17 แสดงผลลพธของโปรแกรมดวยคาสง For…Each…Next

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน Dim strSubject() As String = {"การเขยนโปรแกรมเบองตน", "การเขยนโปรแกรมชนสง", _ "วเคราะหและออกแบบระบบ", "การบรหารระบบคอมพวเตอร", _

คอนโทรล คณสมบต คาทกาหนด Button Name Button1

Text display ListBox Name lstSubject

Page 219: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

194

"การเขยนเวบเบองตน"} คาสงขางตนเปนคาสงประกาศตวแปร strSubject เปนตวแปรชนดอาเรยโดยมสมาชกคอชอรายวชาตาง ๆ

For Each SubjectName In strSubject

เปนคาสงวนลปจนกวาจะครบทกสมาชกของอาเรย strSubject โดยในแตละรอบ สมาชกของอาเรยจะถกสงไปไวทตวแปร SubjectName และจะแสดงสมาชกนนดวยคาสง lstSubject.Items.Add(SubjectName) ตวอยางท 9.7 โปรแกรมคานวณหายอดเงนฝากแบบฝากประจา

วตถประสงคของโปรแกรมนคอ การคานวณยอดเงนฝากแบบฝากประจาโดยมรปแบบการฝากคอ ถาฝากประจา 10 ปจะไดดอกเบยรอยละ 6 ตอปและถาฝากประจา 15 ปจะไดดอกเบยรอยละ 8 ตอป โดยผใชจะตองระบเงนตน และจานวนปทตองการใหคานวณหายอดเงนฝากหลงจากรวมดอกเบยทงหมดแลวการคดดอกเบยจะเปนแบบทบตน คอเอาดอกเบยไปรวมกบเงนตนเพอกลายเปนยอดเงนทจะนาไปคดดอกเบยในปถดไป โปรแกรมจะคานวณหายอดเงนฝากเมอสนปท 1, 2, 3 เรอยไปจนถงปทผใชระบ แลวแสดงผลออกมาในลสบอกซ สรางฟอรมและกาหนดคณสมบตดงน

รปท 9.18 แสดงการวางคอนโทรลของโปรแกรมคานวณยอดเงนฝากแบบฝากประจา

ตารางท 9.8 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมคานวณยอดเงนฝากแบบฝากประจา

ชนดคอนโทรล คณสมบต คาทกาหนด

Textbox Name TxtDeposit ComboBox Name cboYear

Page 220: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

195

ชนดคอนโทรล คณสมบต คาทกาหนด

ListBox Name lstDisplay Button Name btnCalc

Text คานวณ เขยนคาสงเพอเพมรายการในคอมโบบอกซเพอแสดงจานวนปใหผใชเลอกทเหตการณ Form_Load ดงน Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load With cboYear .Items.Add("10") .Items.Add("15") End With End Sub จากนนเขยนคาสงเพอประมวลผลเงนฝากทปมคานวณ (btnCalc) ดงน Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click Dim vDeposit As Single Dim vInterest As Single lstDisplay.Items.Clear() vDeposit = txtDeposit.Text If cboYear.SelectedIndex = 0 Then For i = 1 To 10 vInterest = vDeposit * (6 / 100) vDeposit = vDeposit + vInterest lstDisplay.Items.Add("ปท : " & i & ControlChars.Tab & _

"เงนฝาก = " & vDeposit) Next ElseIf cboYear.SelectedIndex = 1 Then For i = 1 To 10 vInterest = vDeposit * (8 / 100) vDeposit = vDeposit + vInterest

Page 221: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

196

lstDisplay.Items.Add("ปท : " & i & ControlChars.Tab & _ "เงนฝาก = " & vDeposit)

Next End If End Sub เมอเขยนคาสงเสรจแลวใหรนโปรแกรมปอนจานวนเงนฝากและเลอกปจากนนคลกทปมคานวณเพอดผลลพธของโปรแกรม

ปอนจานวนเงนและเลอกจานวน

ผลลพธของโปรแกรมเมอเลอก

10 ป

ผลลพธของโปรแกรมเมอเลอก

12 ป รปท 9.19 แสดงผลลพธของโปรแกรมหายอดเงนฝากแบบฝากประจา

จากตวอยางขางตนสามารถอธบายคาสงโปรแกรมไดดงน Dim vDeposit As Single เปนคาสงประกาศตวแปรเพอเกบคาเงนฝากทผใชปอนเขามา Dim vInterest As Single เปนคาสงประกาศตวแปรเพอเกบคาดอกเบยทคานวณไดในแตละป lstDisplay.Items.Clear() คาสงลางรายการทอยในลสบอกซเหตทตองใชเพราะเมอมการคลกปมคานวณซ ารายการจะถกตอทายจากรายการเดมในลสบอกซ การลางรายการกอนกเพอใหผใชไมสบสน vDeposit = txtDeposit.Text คาสงรบคาจาก TextBox ทผใชปอนเขามาซงกคอเงนฝาก ในสวนของการตรวจสอบเงอนไขของการคานวณวาจะใชอตราดอกเบยใดจะเขยนอยในบลอกของโครงสราง If คอ If cboYear.SelectedIndex = 0 Then [คาสงคานวณและแสดงผลเมอเลอก 10 ป] ElseIf cboYear.SelectedIndex = 1 Then [คาสงคานวณและแสดงผลเมอเลอก 15 ป] End If

Page 222: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

197

เมอโปรแกรมตรวจสอบเงอนไขจากจานวนปทผใชเลอกแลวในกรณทผใชเลอกรายการท 1 ในคอมโบบอกซ (10 ป) โปรแกรมจะคานวณเงนฝากและแสดงออกมาทลสบอกซดวยคาสง

For i = 1 To 10 vInterest = vDeposit * (6 / 100) vDeposit = vDeposit + vInterest lstDisplay.Items.Add("ปท : " & i & ControlChars.Tab & _

"เงนฝาก = " & vDeposit) Next และถาผใชเลอกรายการท 2 ในคอมโบบอกซ (15 ป) โปรแกรมจะคานวณเงนฝากและแสดงออกมาทลสตบอกซดวยคาสงทอยในบลอกของ Else IF สวนคาสง ControlChars. Tab หมายถงใหมการเวนวรรค 1 แทบ สรป

การเขยนโปรแกรมแบบทาซ าหรอเรยกอกอยางหนงวาการวนลป การทางานของโปรแกรมในลกษณะนจะใหโปรแกรมรนชดของคาสงซ าแลวซ าอกตามจานวนรอบทกาหนด หรอทาซ าในขณะทเงอนไขบางอยางเปนจรงหรอเทจกได คาสง For…Next ใชในกรณททราบจานวนครงทแนนอนในการทาซ า

สามารถกาหนดคาเรมตนและการเพมคาของเคานเตอรไดตามทตองการโดยใชคาสง Step สามารถลดคาของตวแปรทเปนคาเรมตนลงตามคาทตองการ สามารถใชคาสง Step – เพอ

กาหนดการลดคาของตวแปรในแตละการวนรอบได คาสง For Each…Next เปนคาสงทใชวนลปเพอเขาถงสมาชกแตละตวของกลมขอมล ทไมทราบ

จานวนสมาชกทแนนอน

Page 223: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

198

แบบฝกหด

1. จะใชโครงสรางการเขยนโปรแกรมแบบทาซ าในลกษณะงานใดไดบาง 2. ใหเขยนโปรแกรมแสดงผลคณของตวเลขแม 3 โดยมตวคณ 12 ตวคณตามตวอยางทแสดงดานลาง

3. คาสง Step มไวเพอ 4. ใหสรางโปรแกรมแสดงชอนกศกษาในกลมจานวน 5 รายชอโดยเกบชอนกศกษาไวทตวแปร Array และใชคาสง For Each…Next ในการเขยนคาสงโปรแกราม

3 *1 = 3

3 * 2 =6

3* 3 = 9

3 * 4 = 12

3 * 5 = 15

Page 224: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

199

เอกสารอางอง

สรสทธ ควประสพศกด นนทน แขวงโสภา. (2546). อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน. For...Next Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/vstudio/5z06z1kb(v=vs.100).aspx

Page 225: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 10

หวขอเนอหาประจาบท 10.1 โครงสรางคาสง Do While

10.2 โครงสรางคาสง Do Until

10.3 ลปทวนซ าไมรจบ

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายโครงสรางคาสง Do While ได

2. อธบายโครงสรางคาสง Do Until ได

3. เขยนคาสงโปรแกรมดวยโครงสราง Do ได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 226: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 10

โครงสรางการเขยนโปรแกรมแบบทาซาดวยโครงสรางคาสง Do

โครงสรางคาสงทาซ าทมใหใชใน VB 2012 นอกจากโครงสราง For…Next แลว ยงมโครงสรางคาสง Do ซงประกอบไปดวยโครงสราง Do While และ Do Until โครงสรางคาสงทงสองนจะแตกตางโครงสรางคาสง For … Next ตรงทสามารถกาหนดเงอนไขเพอทจะทาซ าได Smith, Jo Ann (2011 p.75) ไดใหกฎ 3

ขอทตองใชในการเขยนคาสงของโครงสรางคาสง Do ไวดงน

1. ตองมตวแปรควบคม (loop control variable)การทางานของลป

2. ตองเปรยบเทยบตวแปรควบคมการทางานของลปกบคาตรวจสอบ (Sentinel Value) เพอทจะตดสนใจวาจะทาคาสงทอยในลปตอไปหรอไม การเปรยบเทยบคาของตวแปรควบคมกบคาตรวจสอบนจะใหคาออกมาสองคาคอ จรงหรอเทจ

3. ภายในลปตองมการเปลยนแปลงคาของตวแปรควบคมลป เพอใหสามารถออกจากลปได

10.1 โครงสรางคาสง Do While

โครงสรางคาสง Do While จะทาซ าคาสงทอยในลปเมอเงอนไขเปนจรงและจะเลกทาซ าคาสงทอยในลปเมอเงอนไขเปนเทจ

เงอนไขหลง While จรง?

มคาสง Exit Do?

ชดคาสงภายในลป

ออกจากลป

Yes

Yes

Do While

[Exit Do]

...

Loop

No

No

รปท 10.1 แสดงผงงานการทางานของคาสง Do While

Page 227: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

202

มรปแบบการใชงานดงน

รปแบบคาสง Do While แบบท 1

Do While condition

[ statements ]

[ Exit Do ]

[ statements ]

Loop

โดยท

Condition คอ เงอนไขของการทาซ า

statements คอ ชดคาสงเมอเงอนไขเปนจรง

Exit Do คอ คาสงเพอใหออกจากลป

ตวอยางท 10.1 การใชคาสง Do While แสดงตวเลข 1 - 10

ในตวอยางนจะเปนการใชคาสง Do … While แสดงตวเลข 1 – 10 ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 10.2 แสดงการวางคอนโทรลของโปรแกรมแสดงตวเลข 1-10

ตารางท 10.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงตวเลข 1- 10

คอนโทรล คณสมบต (properties) คาทกาหนด

ListBox Name ListBox1

Button Name Button1

Text Display

Page 228: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

203

โปรแกรมจะทางานเมอมการคลกทปม Display ดงนนจะเขยนคาสงของโปรแกรมทคอนโทรลตวน ใหดบเบลคลกทปม Display (Button1) และเขยนคาสงดงน

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim i As Integer = 1

Do While i <= 10

ListBox1.Items.Add(i)

i += 1

Loop

End Sub

เมอโปรแกรมทางานจะปรากฏผลลพธดงรปท 10.3

รปท 10.3 แสดงผลลพธของโปรแกรมเมอใชคาสง Do While

จากคาสงของโปรแกรมสามารถอธบายไดดงน

Dim i As Integer = 1

คาสงประกาศตวแปรโดยทตวแปร i และกาหนดคาเรมตนของตวแปรใหมคาเปน 1 ตวแปร i นจะใชเปนตวแปรควบคมการทางานของลป

Do While i <= 10

ListBox1.Items.Add(i)

i += 1

Loop

Page 229: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

204

เมอเขาสคาสง Do While จะตรวจสอบเงอนไขกอน ซงเงอนไขทตรวจสอบคอ i <= 10 (คา 10 คอคาตรวจสอบ (Sentinel Value)) ในกรณน i มคาเปน 1 คาทไดจะเปนจรงกจะเขาไปทาคาสงทอยในลปคอคาสง ListBox1.Items.Add(i) เปนคาสงทเพมคา i เขาไปในรายการของลสบอกซ หลงจากนนจะทาคาสง i += 1

เปนคาสงทใชเพมคาใหตวแปร i ขนอก 1 สามารถอธบายขนตอนการทางานของคาสงไดดงตารางดานลาง

ตารางท 10.2 แสดงคาของตวแปรของคาสง Do While

คาในตวแปร i เงอนไข i<= 10 รายการทเพมในลสบอกซ i += 1

1 จรง 1 2

2 จรง 2 3

3 จรง 3 4

4 จรง 4 5

5 จรง 5 6

6 จรง 6 7

7 จรง 7 8

8 จรง 8 9

9 จรง 9 10

10 จรง 10 11

11 เทจ เลกทาคาสง เลกทาคาสง

รปแบบการใชคาสง Do While ยงมอกรปแบบการใชงานอกแบบหนงทแตกตางจากตวอยางท 10.1 มรปแบบคอ

รปแบบคาสง Do While แบบท 1

Do

[ statements ]

[ Exit Do ]

[ statements ]

Loop While condition

Page 230: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

205

จากรปแบบคาสงขางตน จะเหนวาหลงคาสง Do จะไมมคาสง While ไวตรวจสอบเงอนไขการทาซ า สามารอธบายจากรปแบบทสองไดวา เมอโปรแกรมเรมทางานจะทาคาสงทอยในลปอยางนอย 1 ครงแลวคอยตรวจสอบเงอนไข ถาเงอนไขเปนจรงกจะวนขนไปทาคาสงทอยในลปตอไป แตถาเงอนไขเปนเทจกจะเลกทาคาสงทอยในลป

ตวอยางท 10.2 การใชคาสง Do While รปแบบท 2

ในตวอยางนจะใหโปรแกรมแสดงตวเลข 1- 10 เชนเดยวกบตวอยางท 10.1 แตเปลยนรปแบบคาสง

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim i As Integer = 1

Do

ListBox1.Items.Add(i)

i += 1

Loop While i <= 10

End Sub

จากตวอยางโปรแกรมขางตน คาสงในโครงสรางของ Do While เมอโปรแกรมเรมตนทางานจะทาการเพมคาตวแปร i เขาไปในลสบอกซกอนโดยไมสนใจเงอนไข ตอจากนนกจะเพมคาใหตวแปร i ขนอก 1 ดวยคาสง i+= 1 แลวคอยตรวจสอบเงอนไขวาตวแปร i มคานอยกวา 10 หรอไม ถาเงอนไขเปนจรงกจะขนไปทาซ าคาสงทอยในลปตอไปจนกวาเงอนไขจะเปนเทจ

10.2 โครงสรางคาสง Do Until

โครงสรางคาสง Do Until จะทาซ าคาสงทอยในลปเมอเงอนไขเปนเทจและจะเลกทาซ าคาสงทอยในลปเมอเงอนไขเปนจรง

Page 231: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

206

Yes

Yes

Loop Until

Do

[Exit Do]

No

No

มคาสง Exit Do?

ชดคาสงภายในลป

เงอนไขหลง While จรง? ออกจากลป

รปท 10.4 แสดงผงงานการทางานของคาสง Do Until

มรปแบบคาสงคอ

รปแบบคาสง

Do

[ statements ]

[ Exit Do ]

[ statements ]

Loop Until condition

ตวอยางท 10.3 การใชคาสง Do Until

ในตวอยางนจะใหโปรแกรมแสดงตวเลข 1- 10 เชนเดยวกบตวอยางขางตน Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

Dim i As Integer = 1

Do

ListBox1.Items.Add(i)

i += 1

Loop Until i > 10

End Sub

Page 232: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

207

จากตวอยางโปรแกรมขางตน คาสงในโครงสรางของ Do Until เมอโปรแกรมเรมตนทางานจะทาการเพมคาตวแปร i เขาไปในลสบอกซกอนโดยไมสนใจเงอนไข ตอจากนนกจะเพมคาใหตวแปร i ขนอก 1 ดวยคาสง i+= 1 แลวคอยตรวจสอบเงอนไขวาตวแปร i มคามากกวา 10 หรอไม ถาเงอนไขเปนเทจกจะขนไปทาซ าคาสงทอยในลปตอไปจนกวาเงอนไขจะเปนจรง

10.3 ลปทวนซาไมรจบ

เนองจากการทางานของคาสง Do ใชเงอนไขเปนตวตดสนวาจะวนลปตอไปหรอออกจากลป โคดภายในลปจะตองมคาสงใหเงอนไขในการออกจากลปหรอ Exit Condition มาถงไดในทสด มฉะนนคาสง Do จะทาซ าไปเรอยๆ กลายเปนลปทไมรจบ (Endless Loop) หรอเรยกอกอยางวาลปอนนต (Infinite Loop) ผใชจะรสกวาโปรแกรมคางไป คาสงโปรแกรมตอไปนคอตวอยางของการวนลปไมรจบ

Dim InpName As Integer

i = 0

Do

ListBox1.Items.Add(i)

i += 3

Loop Until i = 100

จากโปรแกรมตองการแสดงเลขจานวนเตมตงแต 0 ถง 100 ทหารดวย 3 ลงตวออกมาในลสบอกซ แตสงทเกดขนกคอ โปรแกรมจะวนลปไมรจบ เพราะเมอตวแปร i เรมตนดวยคา 0 และถกบวกเพมทละ 3

มนจะไมมวนมคาเทากบ 100 อนเปนเงอนไขในการออกจากลปไดเลย (โปรแกรมนจะออกจากลปเมอเงอนไข i = 100 เปนจรง เพราะใช Until แทน While) ความผดพลาดนมสาเหตมาจากเงอนไขทผดพลาด ซงทถกแลวควรใชตวดาเนนการ >= หรอ > แทนตวดาเนนการ = ดงน

Dim InpName As Integer

i = 0

Do

ListBox1.Items.Add(i)

i += 3

Loop Until i >= 100

Page 233: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

208

แบบฝกหดท 10.4 โปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน

ตวอยางโปรแกรมนเปนการแสดงจานวนเงนทลดลงในแตละงวดการผอนชาระและแสดงจานวนงวดทงหมดเมอผอนชาระจนครบ โดยผใชสามารถกาหนดจานวนเงนในการผอนเองได ยกตวอยางเชน เงนตน 12000 บาท ผกาหนดผอนเดอนละ 2000 บาท ผลลพธทแสดงลสตบอกซจะมรปแบบดงน

งวดท จานวนเงนคงเหลอ

1 ฿xxx.xx

2 ฿xxx.xx

3 ฿xxx.xx

4 ฿xxx.xx

5 ฿xxx.xx

ใหสรางหนาจอโปรแกรมและวางคอนโทรลดงน

รปท 10.5 แสดงการวางคอนโทรลของโปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน

ตารางท 10.3 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมโปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน

คอนโทรล คณสมบต (properties) คาทกาหนด

TextBox Name txtMoney

TextBox Name txtPay

Button Name btnStart

Text แสดง

ListBox Name lstDisplay

Page 234: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

209

การทางานของโปรแกรมจะใหผใชปอนจานวนเงนตนทชองเงนตน (txtMoney) และจานวนเงนทตองการชาระตองวด (txtPay) แลวคลกทปมแสดง (btnDisplay) เขยนคาสงดงน

Private Sub btnDisplay _Click(sender As Object, e As EventArgs) Handles _ btnDisplay.Click

Dim borrow, pay As Single

Dim i As Integer

borrow = txtMoney.Text

pay = txtPay.Text

i = 1

lstDisplay.Items.Add("งวดท" & vbTab & "เงนตนคงเหลอ")

Do

borrow = borrow - pay

lstDisplay.Items.Add(i & vbTab & borrow)

i += 1

Loop Until borrow <= 0

End Sub

ทดสอบการทางานของโปรแกรมโดยการปอนเงนตน และคาผอนตองวด แลวคลกปมแสดงจะไดผลลพธดงรป

รปท 10.6 แสดงผลลพธของโปรแกรมแสดงยอดเงนคงเหลอและจานวนงวดจากการผอนชาระเงน

Page 235: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

210

จากคาสงของโปรแกรมสามารถอธบายไดดงน

Dim borrow, pay As Single

Dim i As Integer

คาสงประกาศตวแปรโดยทตวแปร

Borrow เปนตวแปรสาหรบเกบจานวนเงนตน

Pay เปนตวแปรสาหรบเกบจานวนเงนตน

i เปนตวแปรควบคม

จากนนกจะปนคาสงสงคาจาก TextBox มาไวในตวแปรทงสองตวและกาหนดคาใหตวแปร i มคาเรมตนเปน 1 และเขาสโครงสรางคาสง Do ดวยคาสง

Do

borrow = borrow - pay

lstDisplay.Items.Add(i & vbTab & borrow)

i += 1

Loop Until borrow <= 0

จดทเปนทสงเกตคอการตรวจสอบเงอนไขเพอใหทาซ าคาสงในลปจะเหนวาจะใชคาทอยในตวแปร borrow

เพราะเงอนไขของการทาซ าคอเมอชาระจนครบจานวนซงกคอเงนตนตองเปน 0

สรป

โครงสรางคาสง Do ซงประกอบไปดวยโครงสราง Do While และ Do Until สามารถกาหนดเงอนไขเพอทจะทาซ าได

โครงสรางคาสง Do While จะทาซ าคาสงทอยในลปเมอเงอนไขเปนจรงและจะเลกทาซ าคาสงทอยในลปเมอเงอนไขเปนเทจ

โครงสรางคาสง Do Until จะทาซ าคาสงทอยในลปเมอเงอนไขเปนเทจและจะเลกทาซ าคาสงทอยในลปเมอเงอนไขเปนจรง

Page 236: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

211

แบบฝกหด

1. บอกขอแตกตางของโครงสรางคาสง Do While และ Do Until

2. จากโจทยโปรแกรม “การคานวณยอดเงนฝากแบบฝากประจาโดยมรปแบบการฝากคอ ถาฝากประจา 10

ปจะไดดอกเบยรอยละ 6 ตอปและถาฝากประจา 15 ปจะไดดอกเบยรอยละ 8 ตอป โดยผใชจะตองระบเงนตน และจานวนปทตองการใหคานวณหายอดเงนฝากหลงจากรวมดอกเบยทงหมดแลวการคดดอกเบยจะเปนแบบทบตน คอเอาดอกเบยไปรวมกบเงนตนเพอกลายเปนยอดเงนทจะนาไปคดดอกเบยในปถดไป โปรแกรมจะคานวณหายอดเงนฝากเมอสนปท 1, 2, 3 เรอยไปจนถงปทผใชระบ แลวแสดงผลออกมาในลสบอกซ” ใหพฒนาโปรแกรมโดยใชโครงสรางคาสง Do While หรอ Do Until

Page 237: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

212

เอกสารอางอง

สรสทธ ควประสพศกด นนทน แขวงโสภา. (2546). อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน.

Jo Ann Smith. (2011). MICROSOFT VISUAL BASIC PROGRAMS TO ACCOMPANY

PROGRAMMING LOGIC AND DESIGN. 6th. Boston : Course Technology.

Do...Loop Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/eked04a7.aspx

Page 238: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

แผนบรหารการสอนประจาวชาบทท 11 หวขอเนอหาประจาบท

11.1 โปรแกรมยอย

11.2 ซบรทน

11.3 ฟงกชน

11.4 ฟงกชนทมใน VB 2012

วตถประสงคเชงพฤตกรรม เมอศกษาบทนแลวนกศกษาสามารถ

1. อธบายความหมายของโปรแกรมยอยได

2. อธบายซบรทนและฟงกชนได

3. สรางซบรทนได

4. สรางฟงกชนได

5. เลอกใชฟงกชนทมใน VB 2012 ได

วธการสอนและกจกรรมการเรยนการสอนประจาบท 1. บรรยายเนอหาในแตละหวขอ ยกตวอยางประกอบ สาธตวธการ

2. ผเรยนฝกปฏบต

3. ศกษาจากเอกสารประกอบการสอน

4. ผสอนสรปเนอหา

5. ผเรยนถามขอสงสย

6. ผสอนทาการซกถาม

7. ทาแบบฝกหดเพอทบทวนบทเรยน

สอการเรยนการสอน 1. เอกสารประกอบการสอนการเขยนโปรแกรมคอมพวเตอรทางธรกจเบองตน

2. ภาพเลอน (Slide)

3. โปรแกรมภาษา Visual Basic 2012

Page 239: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

214

การวดและประเมนผล 1. สงเกตการเขาชนเรยนและความสนใจขณะบรรยาย

2. สงเกตการปฏบตของผเรยน

3. มสวนรวมในการซกถามระหวางการบรรยาย

4. การตอบคาถามขณะทผสอนบรรยาย

5. การตรวจแบบฝกหด

Page 240: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บทท 11

ซบรทนและฟงกชน

โปรแกรมยอยเปนสวนของโปรแกรมทถกสรางขนมาเพอทางานเลก ๆ ชนหนงใหสาเรจ ซงโปรแกรมยอยสามารถถกเรยกใชงานซ ากนไดหลาย ๆ ครง ขอดของโปรแกรมยอยคอ ลดความซ าซอนในการเขยนโปรแกรม โดยจะเกบชดคาสงทตองถกเรยกใชซ า ๆ เขาไวดวยกน ทาใหไมตองเขยนชดคาสงเดมซ าอยเรอย ๆ และยงชวยใหการแกไขในภายหลงทาไดงาย ๆ (สจจะ จรสรงรววร, 2549 : 120)

ชนดของโปรแกรมยอยมอย 2 ชนดคอ

- ซบรทน (Subroutines) จะทางานเมอมการเรยกใชเปนโปรแกรมยอยทเมอจบการทางานแลวจะไมมการสงคากลบมา

- ฟงกชน (Function) จะทางานเมอมการเรยกใชเชนกน ฟงกชนจะดาเนนการและจะสงคาบางอยางกลบมา ซงคาทสงกลบมานนอาจเปนผลจากการคานวณหรอสถานะทแสดงวาฟงกชนทางานสาเรจหรอลมเหลว (Stephens, Rod,2012 : 267)

ทงซบรทนและฟงกชนอาจเรยกวารทนหรอโพรซเยอรกได

11.1 โปรแกรมยอย (Procedure)

จากตวอยางโปรแกรมตางๆในหวขอผานมา จะเหนไดวาเปนโปรแกรมเลกๆทไมมความสลบซบซอนอนใด แตการเขยนโปรแกรมในชวตจรงนนมกจะเปนโปรแกรมขนาดใหญทประกอบดวยงานหลายอยาง การเขยนโปรแกรมตอเนองกนไปโดยไมมการแบงงานออกเปนสวนๆจะทาใหเขยนและตรวจสอบโปรแกรมไดยาก โดยเฉพาะอยางยงหากจาเปนตองกลบมาแกไขหรอปรบปรงโปรแกรมในอนาคต ดงนนการเขยนโปรแกรมทดจงควรแบงงานออกเปนสวนๆทเรยกวา โปรแกรมยอย หรอโพรซเยอร (procedure) ซงมขอดคอ

ชวยใหเขยน,อาน และตรวจสอบโปรแกรมไดงาย เนองจากในแตละโพรซเยอรจะมการทางานอยางใดอยางหนงทชดเจน ในสวนของโปรแกรมหลกกสามารถเขาใจไดงายเชนเดยวกน เพราะโปรแกรมหลกจะมขนาดสนลง โดยจะมเฉพาะงานหลกๆเทานน ไมมสวนของรายละเอยดในการทางานตางๆ ซงรายละเอยดของงานจะไปอยในโพรซเยอรทเรากาหนดใหทางานเฉพาะอยางทตองการ

ลดความซ าซอนของโปรแกรมทมการทางานอยางเดยวกน โดยแยกสวนททางานเหมอนๆกนออกมาเปนโพรซเยอร

Page 241: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

216

สามารถนาเอาโพรซเยอรไปใชงานในโปรแกรมอนไดอก ถาหากโปรแกรมนนตองการทางานลกษณะเดยวกน ชวยใหประหยดเวลาในการเขยนโปรแกรมไปไดมาก (สรสทธ ควประสพศกด และนนทน แขวงโสภา, 2546 : 99)

รปท 11.1 แนวคดของโปรแกรมยอย

ทมา : (สจจะ สรสรงรววร, 2549 : 119)

11.2 ซบรทน (Subroutines)

ซบรทนเปนโปรแกรมยอยททางานโดยไมมการสงคน (return) ผลลพธกลบไปยงคาสงทเรยกใช

รปท 11.2 การทางานของซบรทน

ทมา : (สจจะ สรสรงรววร, 2549 : 120)

การสรางโปรแกรมยอยแบบ Sub มรปแบบดงน

รปแบบคาสง

[Private | Public | Protected | Friend | Protected Friend]

Sub ชอซบรทน ([พารามเตอร])

<ชดคาสง>

End Sub

Page 242: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

217

โดยทพารามเตอร (parameter หรอบางครงกเรยกวา formal argument) คอตวแปร (ตวเดยวหรอหลายตวกได) ทใชรบคาจากโปรแกรมหลกเพอนามาใชงานในโพรซเยอร สาหรบคยเวรด Private ทนาหนาชอโพรซเยอรจะเปนการจากดขอบเขตใหโพรซเยอรสามารถถกเรยกใชงานไดจากภายในโมดลเดยวกนเทานน แตถานาหนาดวยคยเวรด Public โพรซเยอรจะสามารถถกเรยกใชไดจากทกโมดลภายในโพรเจคเดยวกน

คาทสงผานใหกบโพรซเยอรตอนทเรยกใชงานโพรซเยอรจะเรยกวา อารกวเมนต (argument) สวนพารามเตอรหมายถงชอตวแปรในโพรซเยอรทเอาไวรบคาอารกวเมนตจากโปรแกรมหลกเขามาใชงาน

ตวอยางท 11.1 โปรแกรมแสดงวนสนสดการรบประกนสนคาโดยใชซบรทน

โปรแกรมนจะเปนการแสดงวนสนสดการรบประกนสนคาโดยผใชงานจะเลอกวนทซอสนคาและปอนจานวนเดอนทรบประกน การเขยนโปรแกรมนจะใชวธการสรางซบรทนเพอใชในการคานวณวนสนสดการรบประกน ใหสรางหนาจอโปรแกรมดงน

รปท 11.3 หนาจอโปรแกรมแสดงวนสนสดการรบประกนสนคา

ตารางท 11.1 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมแสดงวนสนสดการรบประกนสนคา

คอนโทรล คณสมบต คาทกาหนด

DateTimePicker Name dtpBuyDate

DateTimePicker Name dtpExpire

Button Name btnCalc

Text แสดง

TextBox Name txtMonth

Text 0

Page 243: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

218

ใหดบเบลคลกทพนทวางของฟอรมเพอเขาสหนาตาง Code Editor แลวใหคลกทพนทวางนอกซบรทนอน เขยนคาสงเพอสรางซบรทนชอ CalcExpireDate ดงรป

รปท 11.4 แสดงขนตอนการสรางซบรทน

หลงจากนนใหกดปม Enter โปรแกรมจะสรางบลอกของชดคาสงให

รปท 11.5 แสดงบลอกคาสงของซบรทน

ใหเขยนคาสงดงน

Private Sub CalcExpireDate()

Dim buydate As Date

Dim expireDate As Date

buydate = dtpBuyDate.Value.Date

expireDate = buydate.Date.AddMonths(txtMonth.Text)

dtpExpire.Value = expireDate

End Sub

เมอเขยนคาสงในซบรทน CalcExpireDate แลว ซบรทนนจะไมสามารถทางานไดถาไมมการเรยกใช ใหดบเบลคลกทปมแสดงแลวเขยนคาสงเรยกใชซบรทนดวยการเขยนชอซบรทน ดงคาสงดานลาง

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _ btnCalc.Click

CalcExpireDate()

End Sub

Page 244: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

219

ภาพรวมของคาสงโปรแกรมนจะทางานเมอมการคลกทปมแสดง จะไปเรยกใชซบรทนทชอ CalcExpireDate

รปท 11.6 แสดงการเรยกใชซบรทน

ทดลองรนโปรแกรมแลวเลอกวนทซอสนคา ปอนจานวนเดอนทรบประกน แลวคลกทปม แสดง ผลลพธเปนดงรปท 11.6

รปท 11.7 แสดงผลลพธของโปรแกรมแสดงวนสนสดการรบประกนสนคา

ตวอยางท 11.2 โปรแกรมแสดงวนสนสดการรบประกนสนคาโดยใชซบรทนดวยการสงผานพารามเตอร

โปรแกรมนจะเปนการแสดงวนสนสดการรบประกนสนคาเชนเดยวกบตวอยางท 11.1 แตจะใชวธการสงผานพารามเตอร ใหใชตวอยางโปรแกรมท 11.1 และปรบคาสงโปรแกรมดงน

ทซบรทน CalcExpireDate ใหเพมตวแปร buyDate และ vMonth ในวงเลบหลงชอซบรทนเพอใชเปนพารามเตอรของซบรทนน และปรบคาสงทอยในซบรทนดงคาสงดานลาง

Private Sub CalcExpireDate(buydate As Date, vMonth As Integer)

Dim expiredate As Date

expiredate = buydate.Date.AddMonths(vMonth)

dtpExpire.Value = expiredate

End Sub

Page 245: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

220

ปรบคาสงทเรยกใชซบรทนดวยการสงอารกวเมนตเขาไปสองตวคอวนทซอและจานวนเดอนทประกนดวยคาสง

CalcExpireDate(dtpBuyDate.Value.Date, txtMonth.Text)

รปท 11.8 แสดงคาสงโปรแกรมดวยการสงผานพารามเตอร

11.3 ฟงกชน (Function)

ฟงกชนเปนโปรแกรมยอยทมการคนคากลบ (return) ไปยงโปรแกรมหลกดวย ซงคาทสงกลบมานนอาจเปนผลจากการคานวณหรอสถานะทแสดงวาฟงกชนทางานสาเรจหรอลมเหลว

รปท 11.9 การทางานของฟงกชน

ทมา : (สจจะ สรสรงรววร, 2549 : 119)

การประกาศฟงกชนมรปแบบดงน

รปแบบคาสง

[Private | Public | Protected | Friend | Protected Friend]

Function <ชอฟงกชน> ([พารามเตอร]) As <ชนดขอมล>

<ชดคาสง>

[Exit Function]

[Return <คาทตองการสงคนไปยงโปรแกรมหลก>]

End Function

Page 246: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

221

ฟงกชนสามารถรบคาพารามเตอรไดเชนเดยวกบซบรทน แตสงทพเศษกวาซบรทนกคอฟงกชนสามารถคนคากลบไปยงโปรแกรมทเรยกมาได ชนดขอมลของคาทสงคนจะระบหลงคยเวรด As

ตวอยางท 11.3 โปรแกรมคานวณภาษมลคาเพมจากราคาสนคา

โปรแกรมนจะเปนการแสดงภาษมลคาเพม 7 % ของมลคาสนคาโดยผใชงานจะปอนราคาสนคาเขาไป การเขยนโปรแกรมนจะใชวธการสรางฟงกชนเพอใชในการคานวณภาษมลคาเพมและสงคาทคานวณไดกลบมา ใหสรางหนาจอโปรแกรมดงน

รปท 11.10 หนาจอโปรแกรมแสดงคานวณภาษมลคาเพมจากราคาสนคา

ตารางท 11.2 แสดงคอนโทรลและคณสมบตของคอนโทรลของโปรแกรมคานวณภาษมลคาเพมจากราคาสนคา

คอนโทรล คณสมบต คาทกาหนด

TextBox Name txtPrice

Label Name lblVat

Button Name btnCalc

Text คานวณ

ใหดบเบลคลกทพนทวางของฟอรมเพอเขาสหนาตาง Code Editor แลวใหคลกทพนทวางนอกซบรทนอน เขยนคาสงเพอสรางฟงกชน ดงน

Private Function CalcVat(pPrice As Single) As Single

CalcVat = pPrice * 0.07

End Function

Page 247: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

222

จากนนเขยนคาสงเพอเรยกใชฟงกชนทปมคานวณและใหฟงกชนสงคามาแสดงทลาเบลดวยคาสง

Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles _ btnCalc.Click

lblVat.Text = CalcVat(txtPrice.Text)

End Sub

รปท 11.11 แสดงหนาจอ Code Editor เมอสรางฟงกชนและเรยกใช

จากคาสงขางตนเมอมการเรยกใชฟงกชนท btnCalc จะสงผานพารามเตอรเขาไปคานวณในฟงกชน 1 คานนกคอ ราคาสนคา (txtPrice) และฟงกชนจะมตวแปร pPrice เปนพารามเตอรทรบคาทสงเขามา เมอฟงกชนคานวณเสรจจะสงคากลบไปทลาเบล (lblVat) โดยคาทสงกลบไปใหจะเปนขอมลชนด Single

รปท 11.12 แสดงผลลพธโปรแกรมเมอมการเรยกใชฟงกชน

11.4 ฟงกชนทมใน VB 2012 (Built-in Function)

ใน VB 2012 มฟงกชนทใหมาแลวมากมายโดยไมจาเปนตองเขยนฟงกชนนนเอง ตงแตการคานวณคณตศาสตร, วนท, การจดการกบสตรง เปนตน ซงจะชวยลดเวลาในการพฒนาโปรแกรมของไปไดมาก

Page 248: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

223

11.4.1 ฟงกชนทางคณตศาสตร

Fix Funtion

เปนฟงกชนการแกไขตดสวนทศนยมของจานวนบวกและสงคากลบมาจานวนเตม ตวอยางเชน Fix

(9.2) = 9 หรอ Fix (-9.4) = -9

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim num1, num2 As Single

num1 = TextBox1.Text

num2 = Fix(num1)

Label1.Text = num2

End Sub

Int Function

เปนฟงกชนทแปลงตวเลขเปนจานวนเตมโดยการตดทศนยมของจานวนเตม เชน

Int(2.4) = 2 Int(6.9) = 6

Int(-5.7) = -6 Int(-99.8) = 100

Log Function

ฟงกชนทสงกลบคาลอการทมของตวเลข ตวอยางเชน log (10) = 2.302585

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim num1, num2 As Single

num1 = TextBox1.Text

num2 = Math.Log(num1)

Label1.Text = num2

End Sub

Page 249: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

224

Rnd( ) Function

Rnd เปนฟงกชนทเปนการสมตวเลข ตวอยางเชนถาตองการทจะสมตวเลขจาก 6 จานวนเตมตงแต 1-6 ตองแปลงตวเลขสมใหเปนจานวนเตมโดยใชสตร Int (Rnd * 6) 1

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim num as integer

Randomize( )

Num=Int(Rnd()*6)+1

Label1.Text=Num

End Sub

Round Function

เปนฟงกชนทใชปดเศษทศนยมโดยระบจานวนของตาแหนงทศนยมได มรปแบบคอ (n,m)

ซง n คอจานวนตวเลขทมจดทศนยม และ m คอตาแหนงทศนยมทตองการ ตวอยางเชน Math.Round (7.2567, 2) = 7.26

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim num1, num2 As Single

num1 = TextBox1.Text

num2 = Math.Round(num1, 2)

Label1.Text = num2

End Sub

11.4.2 ฟงกชนเกยวกบขอความ

Page 250: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

225

Mid Function

เปนฟงกชนทใชสาหรบดงขอความบางสวนจากขอความทตองการ มรปแบบคอ

Mid(phrase, position,num)

โดยท

Pharase คอ ขอความทตองการดง

Position คอ ตาแหนงของตวอกษรแรกทตองการดงมาแสดง

num คอ จานวนตวอกษรทตองการดงมาแสดง

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim myPhrase As String

myPhrase = Textbox1.text

Label1.Text = Mid(myPhrase, 2, 6)

End Sub

รปท 11.13 แสดงผลลพธการใชงาน Mid Function

Right Function

เปนฟงกชนทใชสาหรบดงขอความจากดานขวาของขอความทตองการ มรปแบบคอ

Microsoft.Visualbasic.Right(phrase,num)

โดยท

Pharase คอ ขอความทตองการดง

num คอ จานวนตวอกษรทตองการดงมาแสดง

Page 251: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

226

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim myPhrase As String

myPhrase = Textbox1.text

Label1.Text = Microsoft.Visualbasic.Right(myPhrase,5)

End Sub

รปท 11.14 แสดงผลลพธการใชงาน Right Function

Left Function

เปนฟงกชนทใชสาหรบดงขอความจากดานซายของขอความทตองการ มรปแบบคอ

Microsoft.Visualbasic.Left(phrase,num)

โดยท

Pharase คอ ขอความทตองการดง

num คอ จานวนตวอกษรทตองการดงมาแสดง

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim myPhrase As String

myPhrase = Textbox1.text

Label1.Text = Microsoft.Visualbasic.Left(myPhrase,5)

End Sub

Page 252: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

227

รปท 11.15 แสดงผลลพธการใชงาน Left Function

UCase Function

เปนฟงกชนทใชสาหรบแสดงขอความทตองการใหเปนตวอกษรพมพใหญ มรปแบบคอ

Microsoft.Visualbasic.UCase(phrase)

โดยท

Pharase คอ ขอความทตองการแสดง

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim myPhrase As String

myPhrase = Textbox1.text

Label1.Text = Microsoft.Visualbasic.UCase(myPhrase)

End Sub

รปท 11.16 แสดงผลลพธการใชงาน UCase Function

Page 253: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

228

LCase Function

เปนฟงกชนทใชสาหรบแสดงขอความทตองการใหเปนตวอกษรพมพเลกมรปแบบคอ

Microsoft.Visualbasic.LCase(phrase)

โดยท

Pharase คอ ขอความทตองการแสดง

ตวอยางคาสง

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

Button1.Click

Dim myPhrase As String

myPhrase = Textbox1.text

Label1.Text = Microsoft.Visualbasic.LCase(myPhrase)

End Sub

รปท 11.17 แสดงผลลพธการใชงาน LCase Function

11.4.4 ฟงกชนเกยวกบวนเดอนป

Now Function

เปนฟงกชนทใชสาหรบแสดงวนทและเวลาปจจบน ToDay Function

เปนฟงกชนทใชสาหรบแสดงวนเดอนปปจจบน Day Function

เปนฟงกชนทใชสาหรบแสดงวนทปจจบน Microsoft.VisualBasic.DateAndTime.Day(DateValue )

โดยท DateValue คอ วนเดอนปทตองการ เชน

Page 254: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

229

Dim oldDate As Date

Dim oldDay As Integer

oldDate = #2/12/2012#

oldDay = Microsoft.VisualBasic.DateAndTime.Month(oldDate)

ผลลพธคอ 2

Month Function

เปนฟงกชนทใชสาหรบแสดงเดอนเปนตวเลข Microsoft.VisualBasic.DateAndTime. Month (DateValue )

โดยท DateValue คอ วนเดอนปทตองการ เชน

Dim oldDate As Date

Dim oldMonth As Integer

oldDate = #2/12/2012#

oldMonth = Microsoft.VisualBasic.DateAndTime.Month(oldDate)

ผลลพธคอ 12

Year Function

เปนฟงกชนทใชสาหรบแสดงป Microsoft.VisualBasic.DateAndTime.Year (DateValue )

โดยท DateValue คอ วนเดอนปทตองการ เชน

Dim oldDate As Date

Dim oldYear As Integer

oldDate = #2/12/2012#

oldYear = Microsoft.VisualBasic.DateAndTime.Year (oldDate)

ผลลพธคอ 2012

MonthName Function

เปนฟงกชนทใชสาหรบแสดงชอของเดอน MonthName (MonthValue )

โดยท DateValue คอ เดอนเปนตวเลข

Page 255: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

230

ตวอยางคาสง

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Label1.Text = Now

Label2.Text = Today

Label3.Text = Microsoft.VisualBasic.DateAndTime.Day(Now)

Label4.Text = Microsoft.VisualBasic.DateAndTime.Month(Now)

Label5.Text = Microsoft.VisualBasic.DateAndTime.Year(Now)

Label6.Text = MonthName(4)

End Sub

รปท 11.18 แสดงผลลพธของการใชฟงกชนเกยวกบวนเดอนป

สรป

โปรแกรมขนาดใหญควรแบงงานออกเปนสวนๆทเรยกวา โปรแกรมยอย หรอโพรซเยอร (procedure) ซงมขอดคอ ชวยใหเขยน,อาน และตรวจสอบโปรแกรมไดงาย, ลดความซ าซอนของโปรแกรมทมการทางานอยางเดยวกน, สามารถนาเอาโพรซเยอรไปใชงานในโปรแกรมอนไดอก

ซบรทนเปนโปรแกรมยอยททางานโดยไมมการสงคน (return) ผลลพธกลบไปยงคาสงทเรยกใช ฟงกชนเปนโปรแกรมยอยทมการคนคากลบ (return) ไปยงโปรแกรมหลกดวย ซงคาทสงกลบมา

นนอาจเปนผลจากการคานวณหรอสถานะทแสดงวาฟงกชนทางานสาเรจหรอลมเหลว

ใน VB 2012 มฟงกชนทใหมาแลวมากมายโดยไมจาเปนตองเขยนฟงกชนนนเอง ซงจะชวยลดเวลาในการพฒนาโปรแกรมของไปไดมาก

Page 256: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

231

แบบฝกหด

1. โปรแกรมยอยคออะไร ทาไมจงตองม

2. ซบรทนและฟงกชนแตกตางกนอยางไร

3. จากโจทยโปรแกรมแสดงเกรดของนกศกษาโดยคดจากคะแนนโดยมหลกเกณฑดงตอไปน

คะแนนอยในชวง เกรด

คะแนน > 100 Error

คะแนน >= 80 A

คะแนน >= 70 B

คะแนน >= 60 C

คะแนน >= 50 D

นอยกวา 50 F

ใหนกศกษาสรางโปรแกรมทมซบรทนทใชแสดงเกรดของนกศกษา

4. จากโจทยโปรแกรมตรวจสอบชวงของคะแนนทผใชปอนเขามาโดยมชวงของคะแนนดงน

คะแนนอยในชวง ประเมน

คะแนน >= 80 ดเดน

คะแนน >= 70 ด

คะแนน >= 60 ปานกลาง

คะแนน >= 50 พอใช

ไมตรงกบชวงใดเลย ไมผาน

ใหนกศกษาสรางฟงกชนทเพอแสดงผลการประเมน

Page 257: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

232

เอกสารอางอง

สจจะ สรสรงรววร. คมอ Visual Basic 2005 ฉบบสมบรณ. นนทบร : ไอดซฯ, 2549.

สรสทธ ควประสพศกด และนนทน แขวงโสภา, อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน, 2546

Stephens, Rod. Visual Basic 2012 PROGRAMMER’S REFERENCE. Indianapolis : John Wiley &

Sons, Inc, 2012.

Functions (Visual Basic). Retrieved Febrary 17, 2012, from http://msdn.microsoft.com/en-

us/library/32s6akha(v=vs.90).aspx

Page 258: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

บรรณานกรม

กตต ภกดวฒนะกล. (2546). คมภรระบบสารสนเทศ. พมพครงท 2. กรงเทพมหานคร : เคทพ คอมพ แอนด คอนซลท.

ฝายตาราวชาการคอมพวเตอร. (2554). หลกการเขยนโปรแกรม. กรงเทพฯ : ซเอดยเคชน.

พนดา พานชกล. (2551). การเขยนโปรแกรมคอมพวเตอรเบองตนดวยภาษา JAVA. กรงเทพฯ : เคพท คอมพ แอนด คอนซลท.

พรอมเลศ หลอวจตร. (2554). คมอเรยน visual basic 2010. กรงเทพฯ : โปรวชน . สจจะ สรสรงรววร. (2549). คมอ Visual Basic 2005 ฉบบสมบรณ. นนทบร : ไอดซฯ, 2549.

สรสทธ ควประสพศกด นนทน แขวงโสภา. (2546). อนไซด Visual Basic .net ฉบบสมบรณ. กรงเทพ : โปรวชน.

โอภาส เอยมสรวงศ. (2547). การวเคราะหและออกแบบระบบ. กรงเทพ: ซเอดยเคชน.

Rod Stephens.(2012). Fundamentals of Microsoft .NET Programming. California : O’Reilly Media Inc,

David I. Schneider. (1999). Computer Programming Concepts and Visual Basic. New Jersey : PEARSON

CUSTOM PUBLISHING.

Diane Zak. (2012). Clearly Visual Basic Programming With Microsoft Visual Basic 2010. MA : Course

Technology.

Diane Zak. (2012). CLEARY VISUAL BASIC PROGRAMMING WITH MICROSOFT VISUAL

BASIC 2012. 3rd. Boston : Course Technology.

Do...Loop Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/eked04a7.aspx

For...Next Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/vstudio/5z06z1kb(v=vs.100).aspx

Functions (Visual Basic). Retrieved Febrary 17, 2012, from http://msdn.microsoft.com/en-

us/library/32s6akha(v=vs.90).aspx

http://th.wikipedia.org/wiki/โปรแกรมคอมพวเตอร

If...Then...Else Statement (Visual Basic). Retrieved January 8, 2012, from http://msdn.microsoft.com/en-

us/library/752y8abs.aspx

Page 259: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น

234

Jo Ann Smith. (2011). MICROSOFT VISUAL BASIC PROGRAMS TO ACCOMPANY

PROGRAMMING LOGIC AND DESIGN. 6th. Boston : Course Technology.

Kendall Kenneth E. and Kendall Julie E. (2003). Systems Analysis and Design. 5th. Jurong : Pearson

Education Aisa Pte Ltd.

Microsoft . (2012). Explore the Visual Studio IDE with C# or Visual Basic. Retrieved January 8, 2012,

from http://msdn.microsoft.com/en-us/library/vstudio/ms165079(v=vs.110).aspx

Rod Stephens. (2012). Visual Basic 2012 PROGRAMMER’S REFERENCE. Indianapolis : John Wiley

& Sons, Inc.

Rod Stephens. Start Here Fundamentals of Microsoft .NET Programming. California : O’Reilly Media,

Inc, 2011.

Select...Case Statement (Visual Basic). Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/cy37t14y.aspx

TextBox Class. Retrieved January 8, 2012, from http://msdn.microsoft.com/en-

us/library/system.windows.forms.TextBox(v=vs.110).aspx

Using the Check Box Control. Retrieved Febrary 14, 2012, from http://msdn.microsoft.com/en-

us/library/752y8abs.aspx

Page 260: เอกสารประกอบการสอนportal5.udru.ac.th/ebook/pdf/upload/174f4LhDk688fuh2fLuV.pdf · 3.3 การใช้งาน Microsoft Visual Basic 2012 เบื้องต้น