10. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
ต-วอย3าง การใช1คFาส-8ง Select Case
เป5นโปรแกรมทดสอบการพZมพKต-วอ-กษรลงใน TextBox ซY8งกFาหนดให1พZมพK a, b, c เท3าน-น ซY8งเมDอพZมพKเสรOจและคลZ_กป=lม
8
โปรแกรมกOจะแสดง MessageBox มาให1ทราบว3าเราพZมพKตวอะไรลงไป
-
รAปท78 11 หน1าจอการตรวจสอบต-วอ-กษร โดยใช1คFาส-8ง Select Case
เข7ยนโค1ดได1ด-งน7
รAปท78 12 Coding โดยใช1คFาส-8ง Select Case
- 10 -
11. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
การเขยนโปรแกรมดCวยค:าส;งวนรอบ
*
ค:าส;*ง For ... Next
เป5นคFาส-8งวนรอบท78ใช1สFาหร-บการส-8งให1โปรแกรมทFางานเดZม ๆ เป5นจFานวนคร-งตามท78ต1องการ เช3น ต1องการให1พZมพK
ชDอตนเองมา 10 คร-ง เป5นต1น ประโยชนKของคFาส-8งน7คDอ ไม3ตองพZมพKหลายคFาส-8งหากต1องการให1ทางานเดZม ๆ ซFา ๆ
8 1 F
ร8ปแบบค:าส;*ง
For ต-วแปร(integer) = ค3าเรZ8มต1น To ค3าส=ดท1าย [ Step <ค3าท78เพZ8มหรDอลดในแต3ละรอบ> ]
คFาส-8ง ...
[ Exit For ]
Next [ ต-วแปร ]
อธ%บายเพ%*มเต%ม
คFาส-8ง For เป5นคFาส-8งท78ส-8งให1โปรแกรมทFางานในจFานวนคร-งท78เรากFาหนดให1ทFางานก78รอบ โดยจะต1องกFาหนดค3าเรZ8มต1น
และค3าส=ดท1ายของรอบท78ต1องการทFางาน โดยค3าท78จะสามารถกFาหนดได1น-นต1องใช1ต-วแปร ซY8งจะต1องเป5นชนZดเลขจFานวนเตOม ซY8ง
จะส-งเกตได1จากหล-งคFาส-8ง For น-8นเอง ในบางคร-งเรากOสามารถเพZ8มหรDอลดได1ตามท78เราต1องการ แต3ถ1าเราไม3ระบ= คFาส-8ง For จะ
เข1าใจเองว3าให1ทาการเพZ8มหรDอลดลงท7ละ 1 ค3าเท3าน-น
F
ต-วอย3าง คFาส-8ง For ... Next
เป5นโปรแกรมท78ต1องการให1พZมพKคFาว3า “ประเทศไทย” ออกมา 10 รอบ ใน ListBox เมDอผA1ใช1คลZ_กท78ป=lม
8
รAปท78 13 หน1าจอการใช1คFาส-8ง For ... Next
เข7ยนโค1ดได1ด-งน7
รAปท78 14 Coding โดยใช1คFาส-8ง For ... Next
- 11 -
12. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
อธบายคาสง
Dim i As Short -> เป5นการประกาศต-วแปร i เพD8อให1เป5นต-วน-บรอบ
For i = 1 to 10 -> ใช1กFาหนดจFานวนรอบ 10 รอบ
ListBox1.Items.Add(“ประเทศไทย ” & i) -> เป5นคFาส-8งท7ให1เพZ8มคFาว3าประเทศไทยเข1าไปใน ListBox
8
Next i ใช1คA3ก-บ for โดยต1องเป5นต-วแปรต-วเด7ยวก-น
เมDอเข7ยนโปรแกรมเสรOจกOลองร-นโปรแกรม โดยทFาการกดป=lม ซY8งจะได1ผลล-พธKด-งน7
8
รAปท78 15 ผลล-พธKหล-งจากกดป=lม โดยใช1คFาส-8ง For ... Next
ค:าส;*ง While ... End While
เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8งท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ
ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ ซY8งโปรแกรมจะทFาการตรวจสอบเงDอนไขก3อนท7จะเข1าไปทFางานใน block คFาส-8ง หากโปรแกรมพบว3า
8 8
เงD8อนไขเป5นเทOจกOจะออกจากการทFางานแบบวนรอบน7
ร8ปแบบค:าส;*ง
While เงD8อนไข
คFาส-8ง ...
การเพZมค3า ...
8
[ Exit While ]
End While
- 12 -
13. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
ต-วอย3าง
เป5นล-กษณะเหมDอนก-บคFาส-8ง For นะคร-บ โดยจะทFาการตรวจสอบเงD8อนไขก3อนท78จะทFางาน ด-งน-นลองสร1างหน1าจอ
โปรแกรมด-งต-วอย3างคFาส-8ง For และเข7ยนโค1ดด-งน7
รAปท78 16 Coding โดยใช1คFาส-8ง While ... End While
อธบายคาสง
Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
F D
While i <= 10 -> เมDอ i ม7ค3าน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน
8 F
ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
F
End While -> จบคFาส-8ง While
สFาหร-บคFาส-8ง while น7อาจจะประย=กตKใช1ก-บฐานข1อมAลได1เช3นก-น โดยอาจจะใช1สFาหร-บการแสดงข1อมAลในฐานข1อมAล เช3น ให1อ3าน
ข1อมAลจนกว3าจะหมด เป5นต1น
- 13 -
14. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
ค:าส;*ง Do While ... Loop
เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง ท78ไม3ได1กFาหนดรอบไว1ต-งแต3เรZ8มต1น แต3เป5นการกFาหนดเงD8อนไขท78ให1ทFาคFาส-8งเดZมซFา ๆ
ตราบเท3าท7เ8 งD8อนไขเป5นจรZง ๆ
ร8ปแบบค:าส;*ง
Do While เงD8อนไข
คFาส-8ง ...
[ Exit Do ]
Loop
ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม
รAปท78 17 Coding โดยใช1คFาส-8ง Do While ... Loop
อธบายคาสง
Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
F D
Do While (i <= 10) -> เมDอ i ม7คาน1อยกว3าหรDอเท3าก-บ 10 กOให1ทางาน
8 3 F
ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
F
Loop -> จบคFาส-8ง While
- 14 -
15. VB .NET 2005 By Warawut Khangkhan Reference www.ilovelibrary.com
ค:าส;*ง Do ... Loop Until
เป5นคFาส-8งวนรอบอ7กคFาส-8งหนY8ง แต3คFาส-8ง Do ... Loop Until จะม7ล-กษณะการทFางานท78แตกต3างก-บคFาส-8งการวนรอบ คDอ
จะทFางานไปก3อนและตรวจสอบเงD8อนไขท7หล-ง ถ1าเงD8อนไขเป5นเทOจจะทFางานซFาอ7กคร-ง จนกระท-8งเงD8อนไขเป5นจรZงถYงจะหย=ดการทFา
งาน
ร8ปแบบค:าส;*ง
Do
คFาส-8ง ...
[ Exit Do ]
Loop Until เงD8อนไข
ลองเข7ยนคFาส-8งด-งต-วอย3างด-งน7 แล1วลองร-นโปรแกรม
รAปท78 18 Coding โดยใช1คFาส-8ง Do ... Loop Until
อธบายคาสง
Dim i As Short = 1 -> เป5นการประกาศต-วแปร i เพD8อใช1เป5นต-วน-บรอบ และกFาหนดค3าเรZ8มต1นม7ค3าเท3าก-บ 1
แต3ถ1าเราไม3ได1กาหนดค3าเรZ8มต1นให1ก-บต-วแปร ค3า Default กOคอ 0
F D
Do
ListBox1.Items.Add(“ประเทศไทย รอบท7 8 : ” & i) -> เป5นคFาส-8งท78ให1เพZ8มคFาว3าประเทศไทยเข1า ไปใน
Listbox โดยให1แสดงรอบด1วย
i += 1 -> เพZ8มค3า i เพD8อให1จานวนรอบเพZ8มขYนท7ละ 1 ซY8งอาจเข7ยนอ7กรAปแบบ คDอ i = i + 1
F
Loop Until (i > 10) -> เมD8อ i ม7ค3ามากกว3า 10 กOให1ทFาจบการทFางาน แต3ถ1าน1อยกว3าหรDอเท3าก-บ 10 จะกล-บ
ขYนไปทFาซาอ7กคร-ง
F
หมายเหต4
จากเนDอหาท78ให1เป5นเพ7ยงต-วอย3างการเข7ยนและการทFางานเท3าน-น จรZง ๆ แล1วม7อะไรอ7กมากมาย เราจะต1องทFาการ
ศYกษาเพZ8มเตZมการทFางานของ Control ต3าง ๆ ไม3ว3าจะเป5น Event หรDอ Properties รวมถYงคFาส-8งต3าง ๆ ท7ไม3ได1อธZบายได1หมด และ
8
ท78สาค-ญกOคDอ เราจะต1องทFาการฝŠกฝนก-บการเข7ยนโปรแกรมประเภทน7อ7กด1วย
F
- 15 -