การใช้ตัวแปรชุด (Array)

           

                ตัวแปรชุดหรือตัวแปรแบบอาร์เรย์(Array) หมายถึง ตัวแปรที่เก็บข้อมูลหมวดเดียวกัน โดยมีชื่อเพียงชื่อเดียวแต่มีส่วนที่เก็บข้อมูล (Element) อยู่หลายตัว แต่ละตัวใช้ชี้ตำแหน่ง(Index) ซึ่งเป็นค่าตัวเลขกำกับอยู่ในวงเล็บ เช่น ข้อมูลจำนวนนักเรียนใช้ชื่อตัวแปร Student สำหรับเก็บนักเรียนแต่ละชั้นแบบเป็น ชุด ดังนี้

               

ตัวแปรชุดที่(ตัวที่)

เก็บจำนวนนักเรียน

Student(0)

ชั้นอนุบาล

Student(1)

ชั้นประถมศึกษาปีที่ 1

Student(2)

ชั้นประถมศึกษาปีที่ 2

Student(3)

ชั้นประถมศึกษาปีที่ 3

Student(4)

ชั้นประถมศึกษาปีที่ 4

Student(5)

ชั้นประถมศึกษาปีที่ 5

Student(6)

ชั้นประถมศึกษาปีที่ 6

 

                ตัวแปรชุดแบ่งตามมิติ(Dimension) ได้เป็น

1.             แบบมิติเดียว(One-Dimension)

2.             แบบหลายมิติ(Multidimension)

สำหรับตัวแปรชุดแบบหลายมิติของ Visual Basic สามารถมีได้ถึง 32 มิติ แต่ไม่ค่อยใช้กันส่วนใหญ่ที่ใช้ คือ แบบสองมิติ(Two-Dimensional) และแบบสามมิติ(Three- Dimensional)

ขั้นตอนการใช้ตัวแปรชุด เหมือนกันกับการใช้ตัวแปรทั่วไป คือ

1.             ประกาศตัวแปร(Declare the variable)

2.             กำหนดค่าให้ตัวแปร(Assign the variable)

3.             ใช้ตัวแปร(Use the variable)

แต่วิธีการแต่ละขั้นตอนจะต่างไปจากการใช้ตัวแปรทั่วไป

 

1. ตัวแปรชุดแบบมิติเดียว(One- Dimension Array)

                หมายถึง ตัวแปรชุดที่มีชื่อเพียงชื่อเดียว แต่มีส่วนที่เก็บข้อมูล(Element) อยู่หลายตัว แต่ละตัวใช้ตัวชี้(index) ซึ่งมีค่าตัวเลขค่าเดียวกำกับอยู่ในวงเล็บ เช่น Student_Score(19) หมายถึง ตัวแปรชุด แบบมิติเดียวชื่อ Student_Score ที่เก็บคะแนนของนักเรียนคนที่ 19

                1. การประกาศตัวแปรชุดแบบมิติเดียว

                ก่อนที่จะใช้ตัวแปรชุดชื่อใด จะต้องประกาศให้ตัวแปรชื่อนั้นเป็นแบบสัมพันธ์กับแบบของข้อมูลที่จะใช้ โดยประกาศในตอนต้นของโปรแกรม บริเวณส่วนประกาศ(Declaration) ด้วยประโยคคำสั่ง Dimension ตามรูปแบบ ดังนี้

Dim ตัวแปรชุด(จำนวน Element สูงสุดที่ใช้) As แบบข้อมูล

 
               

               

               

                ตัวอย่าง

                ถ้าต้องการใช้ตัวแปรชุดแบบมิติเดียวชื่อ Student_Score สำหรับเก็บข้อมูลคะแนนนักเรียนไม่เกิน 30 คน โดยคะแนนเป็นเลขจำนวนเต็มแบบ Integer เขียนคำสั่งประกาศตัวแปรได้ ดังนี้

                               

Dim Student_Score(30) As Integer

 

                ตัวชี้ของตัวแปรชุดปกติเริ่มจาก 0 ไปจนถึงค่าสูงสุดที่ประกาศไว้(Upper Bound) ดังนั้น ถ้าประกาศไว้ 30 ก็หมายถึงตัวชี้เป็น 0 ถึง 30 ทำให้มีจำนวน Element เท่ากับ 31 ตัวที่ใช้เก็บค่าได้แต่เพื่อให้ดูง่ายอาจละเว้นตัวที่ 0 เพื่อที่จะได้ตัวที่ 1 ถึง 30 ให้ตรงกับลำดับการเรียกหรือใช้ตัวที่ 0 สำหรับเก็บค่าอย่างอื่น เช่น ผลรวมของคะแนนทั้งหมด

                ถ้าต้องการใช้ตัวแปรชุดแบบมิติเดียวชื่อ Student_Name สำหรับเก็บข้อมูลนักเรียนไม่เกิน 30 คน เขียนคำสั่งประกาศตัวแปรได้ ดังนี้

               

Dim Student_Name (30) As String

 

                แต่ถ้าใช้อักขระแทนแบบของข้อมูลต่อท้ายชื่อตัวแปร ก็จะประกาศได้ ดังนี้

 

Dim Student_Name$ (30)

                หมายถึงการให้ตัวแปรชุดแบบมิติเดียวชื่อ Student_Name$ เป็นตัวแปรสำหรับเก็บค่าข้อความแบบ String ได้สูงสุด 30 ค่า (กรณีไม่ใช่ตัวชี้ที่เป็น 0)

หมายเหตุ 1. ถ้าประกาศชื่อตัวแปรชุดโดยไม่มีอักขระแทนแบบของข้อมูล หรือไม่ระบุแบบของข้อมูล เช่น Dim Any_Type( ) จะถือว่าเป็นการประกาศตัวแปรชุดชื่อ Any_Type ให้เป็นแบบ Object ซึ่งสามารถเก็บค่าของข้อมูลได้ทุกแบบ

                2. การประกาศตัวแปรแต่ละชื่อ ให้ประกาศเพียงครั้งเดียวและแบบเดียวเท่านั้นมิฉะนั้นจะเกิดความผิดพลาดขึ้น

ขนาด(Size) หรือความยาวของ Array

                ความยาว(Length) ของ Array หมายถึงจำนวน Element สูงสุดที่ใช้ได้ ขึ้นอยู่กับ

ก.      จำนวนข้อมูลที่ใช้ แต่ไม่เกินค่าของ Integer คือ (2^31)-1 หรือเท่ากับ  2,147,483,647

ข.      แบบของข้อมูล ถ้าใช้ข้อมูลแบบ Double ขนาดของ Array ก็จะใช้ได้น้อยกว่าการใช้ข้อมูลแบบ Single หรือ Integer

ค.      ขนาดของหน่วยความจำของเครื่องคอมพิวเตอร์ ถ้าหน่วยความจำไม่พอ จะเกิดความผิดพลาด “Out Of Memory”

 

2. กำหนดค่าให้ตัวแปรชุดแบบมิติเดียว

                ปกติแล้วตัวแปรทุกตัวของ Visual Basic จะมีค่าเริ่มต้นเป็น 0 (ศูนย์) สำหรับตัวแปรที่ใช้กับตัวเลข ส่วนตัวแปรแบบตัวอักษร (Char และ String) จะมีค่าเริ่มต้นเป็น Null คือว่างหรือไม่มีอะไร(“”)

                เมื่อต้องการกำหนดค่าให้ตัวแปรชุดแบบมิติเดียว ให้ใช้ประโยคคำสั่งกำหนด(Assignment Statement) ซึ่งมีรูปแบบดังนี้

ชื่อตัวแปรชุด(ตัวชี้) = ค่าข้อมูล

 
               

               

                ชื่อตัวแปรชุดจะต้องตรงกับชื่อที่ประกาศไว้ และค่าข้อมูลที่กำหนดจะต้องอยู่ในช่วงค่าข้อมูล

ตามแบบข้อมูลที่ประกาศไว้

                2.1 ถ้าตัวแปรชุดมีจำนวน Element ไม่มาก อาจกำหนดค่าโดยใช้ตัวชี้เรียงลำดับกันไป เช่น

Student_Score(1) = 11

Student_Score(2) = 22

Student_Score(3) = 33

 

                หรือกำหนดค่าโดยชี้ที่ตัวใดก่อนก็ได้ และใช้ตัวแปรธรรมดาแทนค่าตัวเลขได้ เช่น

                                                                P = 10

                                                                Student_Score(P) = 44

                หมายถึง กำหนดค่า 44 ให้กับ Student_Score(10)

                แต่ถ้ากำหนดค่าโดยใช้ตัวชี้เกินกว่าจำนวนที่ประกาศไว้ จะเกิดความผิดพลาด “IndexOutOfRang” ขึ้นเมื่อโปรแกรมทำงานดังรูป

 

รูป Error

 

                2.2 ถ้าตัวแปรชุดมีจำนวน Element มาก ต้องใช้การวนซ้ำ(Loop) แบบใดก็ได้ช่วย เช่น Do…Until Loop  แต่ถ้าทราบจำนวนที่แน่นอนก็ควรใช้ For…Next จะสะดวกกว่า

                ตัวอย่าง การกำหนดค่าคะแนนของนักเรียน 30 คน โดยวิธีป้อนข้อมูล เขียนเป็นผังงานได้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


จากผังงานเขียนเป็นโปรแกรมได้ดังนี้

 

 

 

 

 

 

 

 

 

 


                เมื่อให้โปรแกรมทำงานได้ ดังรูป

 

 

 

 

 

 

 


                เมื่อป้อนคะแนนแล้วคลิกที่ปุ่ม OK หรือกดปุ่มEnter ก็เป็นการกำหนดค่าให้กับตัวแปรชุดแบบมิติเดียว Student_Score(1) จากนั้นจะให้ป้อนคนที่ 2 ไปจนถึงคนสุดท้าย

                หมายเหตุ ถ้าต้องการยกเลิกการป้อน ให้กดปุ่ม Ctrl ค้างไว้ แล้วกดปุ่ม Break เพื่อให้โปรแกรมหยุดทำงาน

 

กิจกรรมที่ 7.1

                ให้สร้างโครงงาน Array1 เพื่อสร้างโปรแกรมป้อนคะแนนนักเรียนจำนวน 10 คน โดยกำหนดค่าคะแนนตามต้องการ

 

                3. การกำหนดค่าเริ่มต้นให้ตัวแปรชุดแบบมิติเดียว

                ในบางกรณีอาจจำเป็นต้องกำหนดค่าเริ่มต้นของตัวแปรชุดเอาไว้ก่อน โดยกำหนดค่าเริ่มต้นตอนประกาศตัวแปรชุด แต่ไม่ต้องกำหนดจำนวน Element ในวงเล็บ ใช้รูปแบบดังนี้

Dim  ชื่อตัวแปรชุด( ) As  แบบข้อมูล = New  แบบข้อมูล ( ) {ค่า1,ค่า2,ค่า…}

 
 


                ตัวอย่าง

                ถ้าต้องการให้ตัวแปรชุดชื่อ N เก็บค่าข้อมูลเลขจำนวนเต็มแบบ Byte 4 ค่า โดยมีค่าเริ่มต้นเป็น 11,22,33 และ 44 ตามลำดับ เขียนเป็นประโยคคำสั่งประกาศตัวแปรและกำหนดค่าเริ่มต้นได้ ดังนี้

Dim N () As Byte = New Byte() {11,22,33,44}

                ซึ่งมีความหมายเช่นเดียวกันกับการประกาศตัวแปรชุด แล้วกำหนดค่า ดังนี้

                                                        Dim N(3) As Byte

                                                        N(0)  = 11 : N(1) = 22 : N(2) =33 N(3)=44

                การกำหนดค่าเริ่มต้นให้ตัวแปร เป็นการป้องกันความผิดพลาดซึ่งอาจเกิดขึ้นเมื่อใช้ตัวแปร เช่น กำหนดค่าให้ตัวแปรแต่ไม่ได้ประกาศตัวแปรก่อน หรือประกาศตัวแปรแต่ไม่ได้กำหนดค่า

                ตัวแปรที่ประกาศและกำหนดค่าเริ่มต้นไว้ สามารถกำหนดค่าใหม่ได้อีกภายหลังเมื่อต้องการ

 

กิจกรรมที่ 7.2

                ให้สร้างโครงงาน Array2 เพื่อสร้างโปรแกรมเก็บคะแนนนักเรียน 10 คน แบบกำหนดค่าเริ่มต้น โดยกำหนดค่าคะแนนตามต้องการ

 

                4. การใช้ตัวแปรชุดแบบมิติเดียว

                ตัวแปรชุดแบบมิติเดียวที่ได้ประกาศและกำหนดค่าไว้แล้ว จึงจะสามารถนำมาใช้ได้ เช่น ใช้ในการคำนวณ เปรียบเทียบ หรือแสดงค่า

                4.1 การแสดงค่าของตัวแปรชุดแบบมิติเดียว

                เนื่องจากตัวแปรชุดมีค่าข้อมูลหลายค่า ถ้าต้องการแสดงค่าใดค่าหนึ่งก็สามารถใช้ป้ายแสดงข้อความ กล่องข้อความ หรือกล่องข่าวสารได้ แต่ถ้าต้องการแสดงค่าทั้งหมดควรใช้กล่องรายการ(ListBox)จะสะดวกกว่า

                4.2 การใช้กล่องรายการ(ListBox)

            กล่องรายการ(ListBox) เป็นตัวควบคุมอีกตัวหนึ่งที่ใช้สำหรับแสดงรายการต่าง ๆ และสามารถเลือกรายการนำไปใช้ต่อไปได้ มีวิธีใช้ ดังนี้

                การเลือก

                ใช้เมาส์คลิกที่กล่องเครื่องมือ เพื่อแสดงหน้าต่างเครื่องมือ จากนั้น คลิกที่ตัวควบคุมแบบกล่องรายการ ดังรูป

                การวาง

                ตัวชี้ของเมาส์จะเปลี่ยนเป็นรูปไอคอนของ(ListBox) ใช้เมาส์ชี้บนฟอร์มบริเวณที่ต้องการวาง แล้วคลิก จะปรากฏกล่องแสดงรายการชื่อ ListBox1 อยู่บนฟอร์ม ดังรูป

 
               

               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                การจัดตำแหน่งและปรับขนาด

                ทำได้โดยใช้เมาส์ชี้ที่ตัวควบคุม คลิกค้างไว้ลากไปวางยังตำแหน่งที่ต้องการ แล้วปล่อย จากนั้น ปรับขนาดความกว้างและความสูงตามต้องการ

                ทำการจัดวางตัวควบคุมต่างๆ เพิ่มเติม และกำหนดชื่อได้ ดังรูป

 

 

 

 

 


               

 

 

 

 

 

 

 

                4.3 การแสดงรายการที่กล่องรายการ

                ใช้ประโยคคำสั่ง ดังนี้

ListBox1.Items.Add(“ข้อความ”)

                เนื่องจากกล่องรายการจะแสดงรายการ(Items) ของข้อความที่เพิ่ม(Add) ดังนั้น ถ้าจะแสดงค่าตัวเลขก็ต้องแปลงค่าตัวเลขให้เป็นข้อความก่อน

                จากโครงงาน Array1 เมื่อเพิ่มกล่องรายการและปุ่ม “แสดงค่า” เพื่อแสดงคะแนนของนักเรียนทั้งหมด ก็ต้องเขียนโปรแกรมที่ปุ่มโดยใช้ประโยคคำสั่ง  For…Next เพื่อกำหนดค่าตัวชี้ตั้งแต่ตัวแรกถึงตัวสุดท้ายของตัวแปรชุด และใช้สำหรับแสดงลำดับที่ตามผังงาน ดังนี้

 

 

 


               

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                จากผังงานเขียนโปรแกรมที่ปุ่ม “แสดงค่า” ได้ดังนี้

                                               Dim DP$

                                                BG = 1 : LS = 10

                                                For L = BG To LS

                                                DP$ =  CStr(L)& “ ” & CStr(Student_Score(L))

                                                ListBox.Items.Add(DP$)

                                                Next L

 

          เมื่อสร้างโปรแกรมเสร็จแล้วให้โปรแกรมทำงาน ป้อนคะแนนนักเรียน 10 คนเข้าไป เมื่อคลิกที่ปุ่ม “แสดงค่า” จะได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 


                4.4 การลบรายการทั้งหมดออกจากกล่องรายการ

ที่ปุ่ม “ลบ” ใช้ประโยคคำสั่ง ดังนี้

                                                List.Box1.Items.Clear()

 

                เมื่อคลิกที่ปุ่ม “ลบ” รายการทั้งหมดในกล่องรายการจะหายไป แต่ค่าของตัวแปรชุดไม่ได้ถูกลบไปด้วย ยังคงสามารถดูค่าได้อีกโดยคลิกที่ปุ่ม “แสดงค่า”

 

กิจกรรมที่ 7.3

                จากโครงงาน Array1 ให้ทำการปรับปรุงฟอร์มและเพิ่มตัวควบคุมตามตัวอย่าง เพื่อสร้างโปรแกรมป้อนคะแนนนักเรียน 10 คน แสดงผลดูได้ ลบรายการออกได้ แล้วจบโปรแกรม

 

กิจกรรมที่ 7.4

                จากกิจกรรมที่ 7.3 ถ้าคลิกที่ปุ่ม “แสดงค่า” โดยที่ยังไม่ได้ป้อนค่าข้อมูลก่อน จะเกิดอะไรขึ้นให้ปรับปรุงแก้ไขโปรแกรมโดยตรวจสอบการป้อนคะแนนนักเรียน ถ้ายังไม่ได้ป้อนให้แสดงข้อความ “ยังไม่ได้ป้อนข้อมูล” และให้ไปยังปุ่ม “ป้อนค่า” ก่อน

 

หมายเหตุ ลักษณะพิเศษของกล่องรายการอันหนึ่งคือ ถ้ามีรายการจำนวนมาก จะปรากฏแถบเลื่อน(Scroll Bar) ให้เลื่อนดูรายการขึ้นลงได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 7.5

                จากกิจกรรม 7.4 ให้เปลี่ยนจำนวนนักเรียนเป็น 20 คน แล้วป้อนคะแนน และแสดงค่า

 

                4.5 การป้อนชื่อ

                ทำได้โดยเพิ่มปุ่ม “ป้อนชื่อ” แล้วเขียนโปรแกรมคล้ายกันกับการป้อนคะแนน เพียงแต่ใช้ตัวแปรชุดสำหรับเก็บชื่อนักเรียน คือ Student_Name$() และเพิ่มการประกาศตัวแปรชุดนี้เข้าไปในส่วนประกาศ

                เมื่อสร้างโปรแกรมเสร็จแล้วให้โปรแกรมทำงาน ป้อนชื่อนักเรียนเข้าไปจนครบทุกคนแล้ว แสดงผลได้ ดังรูป

 

 

 

 

 

4.6 การจัดระยะห่างระหว่างค่าข้อมูล

ผลของโปรแกรมที่แล้วมาเห็นว่าการแสดงผลหลายบรรทัดไม่ตรงกัน ทั้งนี้ เนื่องจากใช้การเว้นวรรคด้วย “  ” เพื่อให้มีระยะห่างระหว่างลำดับที่ ชื่อ และคะแนนนักเรียน ดังนี้

DP$ = CStr(L)& “  ”& Student_Name$(L)& “  ”&CStr(Student_Score(L))

เพื่อให้การจัดระยะห่างตรงกันควรใช้ vbTab ซึ่งเป็นค่าคงที่ตัวหนึ่งของ Visual Basic หมายถึง การใช้ Tab เพื่อเว้นวรรคที่ระยะ 8 ตัวอักษร แทนที่ดังนี้

DP$ = CStr(L)& vbTab& Student_Name$(L)& vbTab &CStr(Student_Score(L))

เมื่อให้โปรแกรมทำงานได้ผล ดังรูป

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 7.6

                จากกิจกรรมที่ 7.4 ให้เพิ่มปุ่ม “ป้อนชื่อ” แล้วทำโปรแกรมตามตัวอย่าง

เมื่อป้อนชื่อและแสดงผลแล้วให้ป้อนค่าและแสดงผล

                ปรับปรุงการแสดงผลใหม่โดยให้ลบรายการในกล่องรายการก่อนแสดงผล

 

4.7       การแสดงผลในรูปตาราง

เมื่อมีการเก็บข้อมูลแบบ Array หลายตัว เช่น ชื่อนักเรียน คะแนนงาน คะแนนสอบ และคะแนนรวม อาจจัดการแสดงผลให้อยู่ในรูปแบบตารางโดยใช้ป้ายแสดงข้อความเป็นหัวตาราง(Header) ให้ตรงกับค่าข้อมูล ดังรูป

 

 

 

 

 

รูปตาราง Array

 

 

 

 

 

4.8       การใช้ตัวแปรชุดแบบมิติเดียวในงานคำนวณ

ถ้าเก็บคะแนนงานนักเรียนไว้ที่ตัวแปร Student_Score( )  และเก็บคะแนนสอบไว้ที่ตัวแปร Student_ScoreExam() ดังนั้นเมื่อต้องการรวมคะแนนของนักเรียนทั้งหมดก็ต้องใช้ตัวแปรชุดอีกตัวชื่อ Student_ScoreSum() สำหรับเก็บคะแนนรวม

การคำนวณหาคะแนนรวมแล้วเก็บไว้ที่ตัวแปร Student_ScoreSum() ใช้ประโยคคำสั่ง For … Next เพื่อวนซ้ำการคำนวณให้ครบทุกคน ดังนี้

Dim Student_ScoreSum(30)

BG = 1 : LS =30

For L = BG To LS

                Student_ScoreSum(L) = Student_Score(L) + Student_ScoreExam(L)

Next L

                หรืออาจจะใช้ For…Next เดียวกันกับการแสดงผลก็ได้

 

กิจกรรมที่ 7.7

                ให้สร้างโครงงาน Array…Report เพื่อสร้างโปรแกรมป้อนชื่อนักเรียน คะแนนงาน และคะแนนสอบ ตามฟอร์มตัวอย่าง หรือออกแบบเองก็ได้

                เมื่อคลิกที่ปุ่ม “แสดงผล” ให้รวมคะแนนและแสดงรายงานออกมาในรูปแบบตารางตามตัวอย่าง

 

                4.9 การเปลี่ยนแปลงค่าของตัวแปรชุดแบบมิติเดียวบางค่า

                เมื่อเก็บค่าข้อมูลของตัวแปรชุดแบบมิติเดียวไว้แล้ว เช่น คะแนนงานนักเรียนที่เก็บไว้ที่ตัวแปร Student_Score() หลังจากดูรายงานแล้วอาจมีคะแนนของนักเรียนบางาคนผิดไป เนื่องจากป้อนผิด

ถ้าต้องการแก้ไขเปลี่ยนแปลงเฉพาะคะแนนของนักเรียนคนที่ผิดสามารถทำได้โดยกำหนดตัวชี้หรือลำดับที่ของนักเรียน จากนั้นก็กำหนดคะแนนที่ถูกต้องให้ Element ของตัวแปรชุดตัวนั้น เมื่อแสดงผลใหม่ก็จะปรากฏค่าที่ถูกต้อง

 

                ตัวอย่าง

                เมื่อเพิ่มปุ่ม “แก้ไข” การเขียนโปรแกรมสำหรับถามหาลำดับคนที่ผิด จากนั้น ให้แสดงคะแนนที่ผิดและให้ป้อนคะแนนใหม่เข้าไปเก็บไว้ที่ตำแหน่งเดิมของตัวแปรชุด เขียนผังงานได้ ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 7.8

                จากโครงงาน Array_Report ให้เพิ่มปุ่ม “แก้ไขคะแนนงาน”  และเขียนโปรแกรมสำหรับแก้ไขคะแนนงานของนักเรียนจากผังงานตัวอย่าง

                หลังจากทดสอบโปรแกรมเรียบร้อยแล้ว ให้เพิ่มการตรวจสอบการตอบลำดับที่ไม่ให้ป้อนเกินจากที่กำหนดไว้ เขียนผังงานเพิ่มเติมและทดสอบโปรแกรมใหม่

 

กิจกรรมที่ 7.9

                จากโครงงาน Array_Report ให้เพิ่มปุ่ม “แก้ไขคะแนนสอบ” และเขียนโปรแกรมสำหรับแก้ไขคะแนนสอบของนักเรียนพร้อมกับตรวจสอบการตอบลำดับที่ ไม่ให้ป้อนเกินจากที่กำหนดไว้ เขียนผังงานและทดสอบโปรแกรม

 

กิจกรรมที่ 7.10

                จากโครงงาน Array_Report ให้เพิ่มปุ่ม “แก้ไขชื่อ” และเขียนโปรแกรมสำหรับแก้ไขชื่อของนักเรียนพร้อมกับตรวจสอบการตอบลำดับที่ ไม่ให้ป้อนเกินจากที่กำหนดไว้ เขียนผังงานและทดสอบโปรแกรม

                หมายเหตุ ในการใช้งานจริง ส่วนแก้ไขข้อมูลจะต้องมีรหัสผ่านก่อนที่จะทำการแก้ไขได้ หรือควรอยู่อีกฟอร์มหนึ่งต่างหาก

 

4.10 การประกาศตัวแปรเพื่อให้ใช้ได้กับหลายฟอร์ม

เมื่อมีการใช้ฟอร์มหลายฟอร์ม และมีตัวแปรหลายตัว ซึ่งอาจต้องใช้ค่าร่วมกันระหว่างฟอร์มต่างๆ ถ้าประกาศตัวแปรแบบเดิมที่ใช้ Dim เรียกว่าการประกาศตัวแปรแบบส่วนตัว (Private) จะใช้ไม่ได้ เนื่องจากเป็นการประกาศใช้เฉพาะในฟอร์มเดียวเท่านั้น

ถ้าจะประกาศตัวแปรเพื่อให้ใช้ได้กับหลายฟอร์ม จะต้องประกาศแบบสาธารณะ(Public) โดยต้องประกาศไว้ในโมดูล(Module) ซึ่งมีขั้นตอนการทำ ดังนี้

1. จากหน้าต่างหลัก เลือกรายการ Project แล้วเลือกรายการย่อย Add Module ดังรูป

 

 

 

 

 

 

 


2. จะปรากฏหน้าต่างให้เลือกประเภทของฟอร์มที่จะเพิ่ม ในที่นี้คือ Module ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 


3. ตั้งชื่อ Module ในช่อง Name : หรือใช้ชื่อที่ปรากฏคือ Module1.vb

4. คลิกที่ปุ่ม Add เป็นการเข้าสู่หน้าต่างโปรแกรมของ Module ดังรูป

 

 

 

 


5.             และในหน้าต่าง Solution Explorer จะมี Module เพิ่ม ดังรูป

 

 

 

 

 

 


6. ทำการประกาศตัวแปรต่างๆ แบบ Public ที่ต้องการใช้ร่วมกันทุกฟอร์มได้โดยประกาศที่ Module ที่เดียวเท่านั้น ในแต่ละฟอร์มไม่ต้องประกาศอีก ดังตัวอย่าง

 

 

 

 

 

 

 

 

 

 

 

 


กิจกรรมที่ 7.11

                จากโครงงาน Array_Report ให้เพิ่มฟอร์ม และ Module โดยใช้ปุ่ม “แก้ไข” เพื่อให้ไปที่ฟอร์มใหม่ที่มีปุ่มให้เลือก “แก้ไขชื่อ” “แก้ไขคะแนนงาน” “แก้ไขคะแนนสอบ” และปุ่ม “กลับ” เพื่อกลับมายังฟอร์มแรก

                เขียนโปรแกรมสำหรับทุกปุ่ม และทดสอบโปรแกรม

 

                4.11 การหาค่าสูงสุด(Maximum) ของตัวแปรชุดแบบมิติเดียว

                ถ้าต้องการหาว่านักเรียนคนไหนได้คะแนนรวมสูงสุด มีวิธีการหา ดังนี้

1.             กำหนดให้ตัวแปร iMax = 1 หมายถึง ตัวชี้ตำแหน่งของค่าคะแนนรวมของนักเรียนคนที่ 1 (สมมติว่าคนที่ 1 มีคะแนนรวมสูงสุด)

2.             เปรียบเทียบค่าคะแนนรวมของนักเรียนคนที่ 1 กับคะแนนรวมของนักเรียนคนที่ 2 ถ้าคะแนนรวมของนักเรียนคนที่ 1 มากกว่าให้ไปเปรียบเทียบกับคะแนนรวมของนักเรียนคนที่ 3 ต่อไป

3.             แต่ถ้าคะแนนรวมของนักเรียนคนที่ 1 น้อยกว่า ต้องเปลี่ยนค่า iMax ให้เป็นตัวชี้ตำแหน่งของคะแนนรวมของนักเรียนคนที่ 2

4.             ทำการเปรียบเทียบเช่นนี้ไปจนถึงคนสุดท้ายก็จะได้ค่า iMax ซึ่งเป็นตัวชี้ตำแหน่งของคะแนนรวมสูงสุดของนักเรียน

เขียนเป็นผังงานได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


จากผังงานเขียนโปรแกรมได้ ดังรูป

 

 

 

 

 

 

 

 

 

 


หมายเหตุ อย่าลืมประกาศตัวแปร iMax ไว้ที่ส่วนประกาศของฟอร์ม หรือประกาศแนบ Public Module

                    คำสั่ง Continue For ใช้สำหรับให้ไปวนรอบถัดไปเลย ถ้าเป็น Do…Loop ให้ใช้ Continue Do

                    ตัวอย่างนี้ใช้ได้ในกรณีที่นักเรียนได้คะแนนรวมสูงสุดมีเพียงคนเดียวเท่านั้น

 

กิจกรรมที่ 7.12

                    จากโครงงาน Array_Report ให้เพิ่มปุ่ม “คะแนนสูงสุด” เพื่อหาคนที่ได้คะแนนรวมสูงสุดตามตัวอย่าง โดยให้แสดงชื่อนักเรียนออกมาด้วย

 

กิจกรรมที่ 7.13

                ในกรณีที่นักเรียนหลายคนอาจได้คะแนนรวมสูงสุดเท่ากัน ให้ปรับปรุงผังงานและโปรแกรมเพื่อหาจำนวนคนที่ได้คะแนนรวมสูงสุด โดยให้แสดงชื่อนักเรียนแต่ละคนพร้อมคะแนนทั้งหมดออกมาด้วย

 

                        การหาค่าต่ำสุด(Minimum) ของตัวแปรชุดแบบมิติเดียว

ถ้าต้องการหาว่านักเรียนคนไหนได้คะแนนรวมต่ำสุด มีวิธีการหาคล้ายกันกับการหาค่าสูงสุดเพียงแต่เปลี่ยนตัวแปรเป็น iMin และเครื่องหมายเปรียบเทียบตรงกันข้าม ดังนี้

 

 

 

 

 

กิจกรรมที่ 7.14

                จากโครงงาน Array_Report ให้เพิ่มปุ่ม “คะแนนต่ำสุด” เขียนผังงานและโปรแกรมเพื่อหาคนที่ได้คะแนนรวมต่ำสุดตามตัวอย่าง โดยให้แสดงชื่อนักเรียนออกมาด้วย

 

กิจกรรมที่ 7.15

                ในกรณีนักเรียนหลายคนอาจได้คะแนนรวมต่ำสุดเท่ากัน ให้ปรับปรุงผังงานและโปรแกรมเพื่อหาจำนวนคนที่ได้คะแนนรวมต่ำสุด โดยให้แสดงชื่อนักเรียนแต่ละคนพร้อมคะแนนทั้งหมดออกมาด้วย

 

4.13 การหาผลรวม(Sum) ของตัวแปรชุด

                ถ้าต้องการหาค่าเฉลี่ย(Average) ของคะแนนตามสูตร

                ค่าเฉลี่ย = ผลรวมของคะแนนนักเรียนทุกคน / จำนวนนักเรียน

ดังนั้น จะต้องหาผลรวมของคะแนนนักเรียนทุกคนที่เก็บไว้ที่ตัวแปร Sum ก่อน โดยวนซ้ำบวกทบคะแนนไปทีละคน เมื่อครบทุกคนแล้วจึงหาค่าเฉลี่ยออกมา ดังผังงาน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


จากผังงานเขียนโปแกรมได้ดังรูป

 

 

 

 


หมายเหตุ การบวกทบคะแนนใช้ประโยคคำสั่ง Sum += StudentSum(L) + ซึ่งมีความหมายเช่นเดียวกันกับ Sum = Sum + Student_ScoreSum(L) โดยต้องกำหนดค่า Sum = 0 ก่อนเข้าการวนรอบเพื่อบวกทบคะแนน

 

กิจกรรมที่ 7.16

                จากโครงงาน Array_Report ให้เพิ่มปุ่ม “ค่าเฉลี่ย” เพื่อหาค่าเฉลี่ยของคะแนนรวมของนักเรียน

 

2. ตัวแปรชุดแบบสองมิติ(Two-Dimensional Array)

                หมายถึง ตัวแปรชุดที่มีชื่อเพียงชื่อเดียวแต่มีส่วนที่เก็บข้อมูล (Element) อยู่หลายตัว ในลักษณะแนวนอนและแนวตั้ง หรือเรียกว่าแบบระนาบ (Rectangular) Element แต่ละตัวใช้ตัวชี้(Index) 2 ตัวซึ่งมีค่าตัวเลขสองค่ากำกับอยู่ในวงเล็บ ตัวแรกสำหรับแนวนอน(Row) ตัวที่สองสำหรับแนวตั้ง(Column) เช่น Book(2,1) หมายถึง ตัวแปรชุดแบบสองมิติชื่อ Book ที่ใช้เก็บจำนวนหนังสือบนตู้ชั้นที่ 2 ของตู้ที่ 1

                ตัวชี้ของตัวตัวแปรชุดแบบสองมิติ ในแนวนอนและแนวตั้งปกติเริ่มจาก 0 ไปจนถึงค่าสูงสุดที่ประกาศไว้(Upper Bound) ดังนั้น ถ้าประกาศไว้เป็น(2,1) ก็หมายถึง ตัวชี้ของแนวนอนเริ่มจาก 0 ถึง 2 คือ 3 ตัว และตัวชี้ของแนวตั้งเริ่มจาก 0 ถึง 1 คือ 2 ตัว ทำให้มีจำนวน Element เป็น 3 x 2 = 6 ตัวที่ใช้เก็บค่าได้ เทียบกับตู้หนังสือ

                1. การประกาศตัวแปรชุดแบบสองมิติ

                ก่อนที่จะใช้ตัวแปรชุดชื่อใด จะต้องประกาศให้ตัวแปรชื่อนั้นเป็นแบบที่สัมพันธ์กับแบบของข้อมูลที่จะใช้ โดยประกาศในตอนต้นของโปรแกรม บริเวณส่วนประกาศ(Declaration) ด้วยประโยคคำสั่ง Dimension ตามรูปแบบ ดังนี้

 

 


 

จำนวน Element สูงสุดในแนวตั้ง -1

 
               

 

จำนวน Element สูงสุดในแนวนอน -1

 
 

 

 

 

 


ตัวอย่าง

                ถ้าต้องการใช้ตัวแปรชุดสองมิติชื่อ Book สำหรับเก็บจำนวนหนังสือ 2 ตู้ๆ ละ 3 ชั้น โดยใช้เป็นเลขจำนวนเต็มแบบ Integer เขียนคำสั่งประกาศตัวแปรได้ ดังนี้

Dim Book(2,1) As Integer

 

 

                ถ้าไม่ใช้ตัวชี้ที่ 0 ทั้งในแนวและแนวตั้ง เพื่อให้ตรงกับลำดับการเรียกทั่วไป ต้องประกาศตัวแปร ดังนี้

                Dim Book(3,2) As Integer

                ซึ่งจะทำให้มี Element ทั้งหมด (3+1) x (2+1) = 12 ตัว แต่เมื่อไม่ใช้ตัวที่ 0 จะทำให้เปลือง Element ที่ไม่ได้ใช้ไป 3+2+1 = 6 ตัว

                ทั้งนี้ขึ้นอยู่กับผู้เขียนโปรแกรมว่าต้องการความสะดวกหรือดูง่ายหรือต้องการประหยัดตัวแปรหรืหน่วยความจำซึ่งขึ้นอยู่กับแบบของข้อมูลด้วย

                ถ้าต้องการใช้ตัวแปรชุดแบบสองมิติชื่อ Student_Name สำหรับเก็บรายชื่อนักเรียน 2 ห้องๆ ละไม่เกิน 30 คน เขียนคำสั่งประกาศตัวแปรได้ ดังนี้

Dim Student_Name(30,2) As String

 

                แต่ถ้าใช้อักขระแทนแบบของข้อมูลต่อท้ายชื่อตัวแปร ก็จะประกาศได้ ดังนี้

Dim Student_Name$(30,2)

 

                หมายถึง ให้ตัวแปรชุดแบบสองมิติชื่อ Student_Name$ เป็นตัวแปรสำหรับเก็บค่าข้อความแบบ String ได้สูงสุด 2 ชุดๆ ละ 30 ค่า(กรณีไม่ใช้ตัวชี้เป็น 0)

 

หมายเหตุ

1.             ถ้าประกาศตัวแปรชุดโดยไม่มีอักขระแทนแบบของข้อมูล หรือไม่ระบุแบบของข้อมูล เช่น Dim Any_Type( ) ให้เป็นแบบ Object ซึ่งสามารถเก็บค่าของข้อมูลได้ทุกแบบ

2.             การประกาศตัวแปรแต่ละชื่อ ให้ประกาศเพียงครั้งเดียวและแบบเดียวเท่านั้น มิฉะนั้น จะเกิดความผิดพลาดขึ้น

ขนาด(Size) หรือความยาวของ Array

                ความยาว(Length) ของ Array หมายถึงจำนวน Element สูงสุดที่ใช้ได้ ขึ้นอยู่กับ

                ก. จำนวนข้อมูลที่ใช้ แต่ไม่เกินค่าของ Integer คือ (2^31)-1 หรือเท่ากับ 2,147,483,647

                ข. แบบของข้อมูล ถ้าใช้ข้อมูลแบบ Double ขนาดของ Array ก็ใช้ได้น้อยกว่าการใช้ข้อมูลแบบ Single หรือ Integer

                ค. ขนาดของหน่วยความจำของเครื่องคอมพิวเตอร์ ถ้าหน่วยความจำไม่พอจะเกิด ความผิดพลาด “Out Of Memory”

 

                2. การกำหนดค่าให้ตัวแปรชุดแบบสองมิติ

                ปกติแล้วตัวแปรทุกตัวของ Visual Basic จะมีค่าเริ่มต้นเป็น 0 (ศูนย์) สำหรับตัวแปรที่ใช้กับตัวเลข ส่วนตัวแปรแบบอักษร(Char และ String) จะมีค่าเริ่มต้นเป็น Null คือค่าว่าง หรือไม่มีอะไร(“”)

                เมื่อต้องการกำหนดค่าให้ตัวแปรชุดแบบสองมิติ  ให้ใช้ประโยคคำสั่งกำหนดค่า(Assigment Statement) ซึ่งมีรูปแบบ ดังนี้

ชื่อตัวแปรชุด(ตัวชี้ในแนวนอน,ตัวชี้ในแนวตั้ง) = ค่าข้อมูล

 
 

 

 


                ชื่อตัวแปรชุดจะต้องตรงกับชื่อที่ประกาศไว้ และค่าข้อมูลที่กำหนดจะต้องอยู่ในช่วงค่าข้อมูลตามแบบข้อมูลที่ประกาศไว้

                2.1 ถ้าตัวแปรชุดมีจำนวน Element ไม่มาก อาจกำหนดค่าโดยใช้ตัวชี้เรียงลำดับกันไปตามแนวนอนหรือแนวตั้ง เช่น

                                                Book(1,1) = 4 : Book(1,2) = 6

                                                Book(2,1) = 5 : Book(2,2) = 4

                                                Book(3,1) = 5 : Book(3,2) = 7

                หรือกำหนดค่าโดยชี้ที่ตัวใดก่อนก็ได้ และใช้ตัวแปรธรรมดาแทนค่าตัวเลขที่ได้ เช่น

                                                iRow = 2  : iCol = 1

                                                Book(iRow,iCol) = 5

                หมายถึง กำหนดค่า 5 ให้กับตัวแปร Book(2,1)

                แต่ถ้ากำหนดค่าโดยใช้ตัวชี้เกินกว่าจำนวนที่ประกาศไว้ จะเกิดความผิดพลาด “IndexOutOfRang” ขึ้นเมื่อโปรแกรมทำงาน

                2.2 ถ้าตัวแปรชุดมีจำนวน Element มาก ต้องใช้การวนซ้ำ(Loop) แบบใดก็ได้ช่วย เช่น Do…Until Loop แต่ทราบจำนวนที่แน่นอนก็ควรใช้ For…Next จะสะดวกกว่า

                ตัวอย่าง

                การกำหนดคะแนนของนักเรียน 2 ห้องๆ ละ 30 คน โดยวิธีป้อนข้อมูล

                การกำหนดค่าตัวชี้ลำดับที่ของห้อง อาจใช้การป้อนค่า เลือกจากปุ่มเลือก(RadioButton) เลือกจากกล่องรายการ(ListBox) หรือเลือกจากกล่องรวมรายการ(ComboBox)

                ในตัวอย่างนี้ใช้กล่องรายการสำหรับเลือกลำดับห้อง ดังนี้

1.             สร้างโครงงาน Room

2.             จัดวางกล่องรายการ ป้ายแสดงข้อความและปุ่มต่างๆ ดังรูป

3.             คลิกที่ ListBox1 เพื่อกำหนดรายการสำหรับเลือก

 

 

 

 

 

 

 

 

 

 

 

 


4.             ที่หน้าต่างคุณสมบัติของ ListBox1 เลือก Items ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 


5.             คลิกที่ปุ่มด้านขวาของรายการ Items จะปรากฏหน้าต่างสำหรับพิมพ์รายการสำหรับเลือก ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

6. พิมพ์ข้อความ “ห้อง ก.” แล้วกดปุ่ม Enter

7. พิมพ์ข้อความ “ห้อง ข.” แล้วกดปุ่ม Enter

8. เสร็จแล้วคลิกที่ปุ่ม OK จะได้ดังรูป

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 


การเลือกรายการจากกล่องรายการ

                ใช้คุณสมบัติ SelectedItem ดังนี้

                                                                Rm$ = ListBox1.SelectedItem

 

                หมายถึง ถ้าคลิกที่รายการใดรายการหนึ่งของกล่องรายการแล้ว จะทำให้ข้อความรายการนั้นไปเก็บไว้ที่ตัวแปร Rm$ แต่ถ้าไม่คลิกเลือกรายการจะทำให้ Rm$= “ ”

                                                               

การกำหนดค่าตัวชี้ตำแหน่งจากกล่องรายการ

                ใช้คุณสมบัติ SelectedIndex ดังนี้

                                                                iCol = ListBox1.SelectedIndex

                หมายถึง ถ้าคลิกที่รายการใดรายการหนึ่งของกล่องรายการแล้ว จะทำให้ค่าตัวชี้อันดับของรายการนั้นไปเก็บไว้ที่ตัวแปร iCol แต่ถ้าไม่คลิกเลือกรายการจะทำให้ iCol = 0

                ตัวชี้อันดับของรายการจะเริ่มจาก 0 ดังนั้น ถ้าต้องการใช้ค่าตัวชี้ของตัวแปรชุดแบบสองมิติเริ่มจาก 0 เหมือนกันก็สามารถนำค่าของตัวแปร iCol ไปใช้ได้ แต่ถ้าไม่ใช่ค่าที่เป็น 0 ก็ต้องเพิ่ม + 1 ต่อท้ายเข้าไป ดังนี้

                                                                iCol = ListBox1.SelectedIndex + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ผังงานของโปรแกรมการป้อนค่าคะแนนของนักเรียนแต่ละคนในแต่ละห้องเป็น ดังนี้

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


เขียนโปรแกรมจากผังงานได้ ดังนี้

 

 

 

 

 

 

 

 

 

 

 


เมื่อให้โปรแกรมทำงาน คลิกเลือกห้องแล้ว คลิกที่ปุ่ม “ป้อนคะแนน” จะได้ ดังนี้

                เมื่อป้อนคะแนนคนที่ 1 แล้วกดปุ่ม Enter หรือคลิกที่ปุ่ม “OK” ก็จะวนให้ป้อนคะแนนคนต่อไป จนครบทั้งหมด

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.              การแสดงค่าของตัวแปรชุดแบบสองมิติ

เขียนเป็นผังงานได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


การแสดงค่าใช้วิธีการคล้ายกับการป้อนค่า คือ เลือกห้องก่อน แล้วคลิกที่ปุ่ม “แสดงผล” การเลือกห้อง เพื่อกำหนดตัวชี้ในแนวตั้งของตัวแปรชุดแบบสองมิติ ส่วนการกำหนดตัวชี้ในแนวนอนใช้การวนซ้ำ เพื่อแสดงค่าของตัวแปรชุดออกมาตั้งแต่ตัวแรกถึงตัวสุดท้าย

 

กิจกรรมที่ 7.17

ให้สร้างโครงงาน Array2D เพื่อสร้างโปรแกรมป้อนค่าและแสดงค่าคะแนนของนักเรียน 2 ห้องตามตัวอย่าง อาจกำหนดให้จำนวนนักเรียนห้องละ 10 คน เพื่อความสะดวกในการป้อนข้อมูล ถ้าไม่ได้เลือกห้องก่อนป้อนข้อมูล หรือก่อนแสดงผลให้แสดงข้อความเตือนด้วย

การแสดงผลให้แสดงลำดับที่ของนักเรียนและคะแนนที่ได้ของแต่ละคน

 

การแสดงค่าของตัวแปรชุดแบบสองมิติโดยใช้การวนซ้ำซ้อนกัน

ในกรณีที่มีหลายห้อง เช่น 3 ห้อง เมื่อป้อนข้อมูลของแต่ละห้องเก็บไว้แล้ว การแสดงผลคะแนนของนักเรียนแต่ละห้อง เขียนเป็นผังงานได้ ดังรูป

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


การแสดงค่าของตัวแปรชุดแบบสองมิติ ใช้การวนซ้ำเพื่อกำหนดตัวชี้ในแนวตั้งของตัวแปรชุดแบบสองมิติ (ตั้งแต่ห้องแรกถึงห้องสุดท้าย) และซ้อนด้วยการวนซ้ำอีกชั้นเพื่อกำหนดตัวชี้ในแนวนอน สำหรับการแสดงค่าของตัวแปรชุดออกมาตั้งแต่ตัวแรกไปถึงตัวสุดท้ายของแต่ละห้อง เมื่อแสดงของห้องแรกก็วนไปเริ่มแสดงของห้องถัดไปจนครบทุกห้อง

จากผังงานเขียนโปรแกรมได้ ดังนี้

 

 

 

 

 

 

 

 


เมื่อให้โปรแกรมทำงานป้อนข้อมูลแต่ละห้อง แล้วคลิกปุ่ม “แสดงทั้งหมด” ได้ผล ดังนี้

               

รูป Two Dimension

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

กิจกรรมที่ 7.18

                จากโครงงาน Array2D ให้ปรับปรุงฟอร์มและโปรแกรมตามตัวอย่าง โดยมีปุ่มต่างๆ ดังนี้

ปุ่ม “ป้อนคะแนน” ใช้สำหรับป้อนคะแนนทีละห้อง (ต้องเลือกห้องก่อน)

ปุ่ม “แสดงผล” ใช้สำหรับแสดงผลทีละห้อง (ต้องเลือกห้องก่อน)

ปุ่ม “แสดงทั้งหมด” ใช้แสดงผลทุกห้อง (ไม่ต้องเลือกห้อง)

ปุ่ม “ลบ” ใช้ลบรายการทั้งหมดของกล่องรายการแสดงผล

ปุ่ม “จบ” หยุดการทำงาน

หมายเหตุ การใช้ตัวแปรชุดแบบสองมิติ เหมาะสำหรับใช้กับข้อมูลที่มีจำนวนในแนวนอนเท่ากัน เช่น ทุกห้องมีจำนวนนักเรียนเท่ากัน ถ้าจำนวนนักเรียนในแต่ละห้องไม่เท่ากัน ก็ต้องใช้ตัวแปรชุดแบบมิติเดียวหลายตัว

 

สรุป

                ตัวแปรชุด(Array) ใช้สำหรับเก็บค่าข้อมูลที่เป็นหมวดหมู่เดียวกัน โดยมีชื่อเพียงชื่อเดียวแต่มีส่วนที่เก็บข้อมูล(Element) หลายตัว แต่ละตัวก็กำหนดด้วยตัวชี้ตำแหน่ง(Index) ซึ่งเริ่มจาก 0 ถึง ตำแหน่งสูงสุดที่ประกาศไว้

                ตัวแปรชุดที่ใช้กันทั่วไปมี 3 แบบ คือ

1.             แบบมิติเดียว(One-Dimensional)  มีตัวเลขชี้ตำแหน่ง 1 ตัว เช่น Book(2)

2.             แบบสองมิติ(Two-Dimensional)  มีตัวเลขชี้ตำแหน่ง 2  ตัว เช่น Book(2,1)

3.             แบบสามมิติ(Three-Dimensional)  มีตัวเลขชี้ตำแหน่ง 3 ตัว เช่น Book(2,1,0)

การกำหนดค่าและแสดงค่าของตัวแปรชุดใช้การวนซ้ำด้วยประโยคคำสั่ง For…Next เพื่อความสะดวกในการกำหนดตัวชี้ตำแหน่ง

                ตัวควบคุมกล่องรายการ(ListBox) ใช้สำหรับแสดงและเลือกรายการข้อความ

                vbTab เป็นค่าคงที่ของ Visual Basic ใช้สำหรับเว้นระยะ (Tab) ระหว่างรายการ

                Module ใช้สำหรับประกาศตัวแปรแบบสาธารณะ(Public) เพื่อใช้ร่วมกันได้ในหลายฟอร์ม

                Continue For และ Continue Do ใช้สำหรับให้ไปวนรอบถัดไป

                กล่องตัวเลขขึ้นลง(NumericUpdown) ใช้สำหรับการคลิกเลือกตัวเลขขึ้นหรือลงภายในช่วงตัวเลขที่กำหนดไว้ หรือสามารถป้อนตัวเลขเข้าไปได้