Advanced VB (VB ขั้นสูง) บทที่ 7
การใช้งานฟังก์ชั่น เราสามารถสร้าง “ฟังก์ชั่น” เพื่อการเรียกใช้ได้หลายๆครั้ง สามารถส่งค่าไปให้กับฟังก์ชั่นได้ สามารถรับค่าจากฟังก์ชั่นได้ (10,5) 15 Sum(a,b)
ประเภทของฟังก์ชั่น 1. Sub 2. Function ไม่คืนค่ากลับ เช่นทำการวาดรูป เช่นคำนวณแล้วส่งผลลัพธ์กลับ
ทดลอง Function สร้างฟอร์มขึ้นมาดังรูป Text1 Text2 Command1
เขียนโค๊ด ดับเบิ้ลคลิกที่ปุ่ม แล้วเขียนโค๊ด
อธิบายโค๊ด เรียกฟังก์ชั่น ประกาศฟังก์ชั่น คืนค่ากลับ ทดลอง Run
ทดลองด้วยตนเอง ลองเพิ่มปุ่มมาอีก 3 ปุ่ม เพื่อทำการ -, * , / โดยใช้การทำงานของฟังก์ชั่น
ทดลอง Sub สร้างฟอร์มขึ้นมาดังรูป
เขียนโค๊ด ดับเบิ้ลคลิกที่ปุ่ม แล้วเขียนโค๊ด เรียก Sub ประกาศ Sub ทดลอง Run
ทดลองด้วยตนเอง ลองสร้างปุ่มขึ้นมาดังนี้ ให้ทำงานด้วย Sub เมื่อกดให้ MsgBox ว่า Hi เมื่อกดให้ MsgBox ว่า Hello ให้หาเลขยกกำลัง ให้แสดงว่า “คุณเลือก....”
การใช้งาน Array อาเรย์เป็นวิธีการในการเขียนโปรแกรมที่เป็นประโยชน์อย่างมาก เราสามารถอ้างถึงข้อมูลได้จากตัวแปรตัวเดียว โดยใช้ “ดัชนี” (Index) รูปแบบ Dim ชี่อตัวแปร(ขนาด) as ประเภทข้อมูล ตัวอย่าง Dim CusName(10) as String Dim Count(100 to 500) as Integer String จำนวน 10 ช่อง Integer จำนวน 100 ถึง 500 (400 ช่อง)
ภาพอธิบาย Array เราสามารถมอง Array เป็นลักษณะของ “ช่องข้อมูล” ได้ แต่ละช่องสามารถเก็บข้อมูลได้ 1 ค่า แต่ละช่องจะมี “ดัชนี” ในการอ้างถึง .... 0 1 2 n
การนำค่าไปเก็บในอาเรย์ จะใช้ดัชนีอ้างถึง 200 a .... 0 1 2 n Dim a(100) as Integer a(2) = 200 การอ่านค่าจากอาเรย์ a .... 0 1 2 n 200 Z = a(2)
ทดลอง สร้างฟอร์มดังรูป Text1
เขียนโค๊ด ดับเบิ้ลคลิกที่ปุ่ม แล้วเขียนโค๊ด ประกาศตัวแปรแบบ Global Array ขนาด 10 ดับเบิ้ลคลิกที่ปุ่ม แล้วเขียนโค๊ด ดัชนีของ Array เรียก Sub ขยับ Index มีต่อ
ต่อ ส่วนของ Sub วนรอบ 10 รอบ เพื่อรวมค่าทั้งหมด โดยดึงจาก Array
การสร้างอาเรย์ของคอมโพเนนท์ เราสามารถสร้างคอมโพเนนท์ให้เป็นอาเรย์ได้ เช่น อาเรย์ของ TextBox สามารถใช้อาเรย์ในการอ่าน / เขียนข้อมูลต่างๆได้ เช่น Text1(0) = “Hello” MsgBox(“Hello “ & Text1(2))
ทดลอง ให้สร้างคอมโพเนนท์ TextBox ขึ้นมาดังรูป ทำการเลือกโดยใช้เมาส์ลากครอบทั้งหมด ดังรูป Text1
ต่อ กด CTRL+C และ CTRL+V ตามลำดับ จะเกิด Message Box ขึ้นมาให้กด Yes Message Box จะถามว่า ต้องการสร้างอาเรย์ของคอมโพเนนท์หรือไม่ หากตอบ No จะสร้าง Text2 และ Label2 แต่หากตอบ Yes จะเกิด Text1(0) และ Text1(1) และ Label1(0) และ Label1(1)
สร้างฟอร์ม ให้สร้างฟอร์มดังรูป (โดยใช้อาเรย์) command1(2) command1(0)
เขียนโค๊ด ดับเบิ้ลคลิ้กที่ปุ่ม command2 แล้วเขียนโค๊ดลงไป ทดลอง Run
ลองเอง ให้สร้างฟอร์มขึ้นมาดังรูป โดยใช้อาเรย์ของคอมโพเนนท์ ให้สร้างฟอร์มขึ้นมาดังรูป โดยใช้อาเรย์ของคอมโพเนนท์ เมื่อกดปุ่มให้เอาคำมาต่อกัน