วันเสาร์ที่ 12 มีนาคม พ.ศ. 2554

การติดตั้ง และ คุณลักษณะทั่วไปของ Visual Basic(3)

8 ส่วนประกอบต่างๆ ที่ใช้ในการพัฒนาโปรแกรมของ Visual Basic 6 (IDE)
คำว่า IDE หรือ Integrated Development Environment คือ สภาพแวดล้อมการทำงานใน
การพัฒนาโปรแกรมโดยใช้ Visual Basic หรืออุปกรณ์เครื่องมือต่างๆที่เตรียมมาช่วยในการพัฒนา
โปรแกรมด้วย Visual Basic เมื่อเปิดโปรแกรม Visual Basic ขึ้นมาครั้งแรก จะปรากฏหน้าจอของ
IDE ซึ่งมีส่วนประกอบดังนี้

1) ทูลบาร์ (Tool Bar)
ทูลบาร์คือแผงควบคุม ที่มีปุ่มต่างๆ ประกอบอยู่ ซึ่งสามรถเรียกใช้ได้อย่างสะดวกและ
รวดเร็ว โดยรายละเอียดของปุ่มต่างๆ ของทูลบาร์มีดังนี้


A. ใช้สำหรับเปิดโปรเจ็คใหม่ขึ้นมา
B. เพิ่มฟอร์ม โมดูล หรือออปเจ็ค ประเภทต่างๆ เขาไปใช้ในโปรเจ็ค หรือโปรแกรมที่เรา
กำลังพัฒนาอยู่
C. เปิด Menu Editor ซึ่งเป็นเครื่องมือที่ใช้ในการสร้างเมนูของโปรแกรม
D. เปิดไฟล์โปรเจ็ค
E. บันทึกโปรเจ็ค Save
F. ตัด(cut)
G. ก๊อปปี้ (copy)
H. วาง (paste)
I. ค้นหา (Find)
J. ยกเลิกการกระทำ (undo)
K. เรียกคืนกับสิ่งที่ undo ไป (redo)
L. สั่งให้โปรแกรมทำงาน (Run)
M. ให้โปรกรมหยุดทำงานชั่วคราว (Pause)
N. ให้โปรแกรมหยุดทำงาน
O. เปิดวินโดว์ Properties
P. เปิดวินโดว์ From layout
Q. Object Browser ช่วยในการค้นหารายละเอียดของออปเจ็คต่างๆ
S. Toolbox เป็นแหล่งรวบรวมออปเจ็คต่างๆ
T. เปิดวินโดว์ data view เพื่อดูการติดต่อกับฐานข้อมูลต่างๆ

2) ทูลบ็อก (Toolbox)
เป็นที่รวมออปเจ็คต่างๆ ที่จะนำมาใช้ในโปรแกรมซึ่งอาจเรียกว่า Control Object ซึ่งมีดัง
ภาพต่อไปนี้ และนอกจากนี้เรายังสามารถเพิ่มออปเจ็คเข้าไปใน Toolbox ได้อีกมากมาย ซึ่ง
รายละเอียดคร่าวๆ มีดังนี้


A. Pointer ใช้ในการจัดขนาด เคลื่อนย้าย และวางตำแหน่งของออปเจ็คต่างๆ
B. Picture ใช้ควบคุมและแสดงภาพต่างๆ ลงบนฟอร์ม
C. Label ใช้แสดงข้อความต่างๆ ลงบนฟอร์ม
D. Textbox ใช้สำหรับรับข้อความที่ผู้ใช้ป้อนเข้ามา
E. Frame ใช้สำหรับจัดกลุ่มและรวมออปเจ็คต่างๆ เข้าด้วยกัน
F. Command Button เป็นปุ่มคำสั่งเพื่อใช้ในการสั่งงาน
G. Checkbox เป็นปุ่มที่ใช้เลือกว่าต้องการหรือไม่
H. Option Button ใช้เป็นตัวเลือกค่าไดค่าหนึ่งจากหลายๆค่า
I. Combo Box ผู้ใช้สามารถเลือกตัวเลือกได้จากการกดปุ่ม Drop Down เพื่อแสดง
ทางเลือกต่างๆ มีความสามารถเหมือนกับ List Box และ Text Box ผสมกัน
J. List Box ใช้แสดงตัวเลือกต่างๆ ในลักษณะของบรรทัดรายการโดยสามารถเลือก
รายการไดรายการหนึ่งหรือว่าหลายรายการก็ได้
K. Horizontal Scroll Bar เป็นแถบเลื่อนทางแนวนอน
L. Vertical Scroll Bar เป็นแถบเลื่อนทางแนวตั้ง
M. Time ใช้ในการควบคุมเวลา ในโปรแกรมที่มีเวลามาเกี่ยวข้อง
N. Drive List Box ใช้ ในการติดต่อแฟ้มข้อมูลในแบบของ List Box
O. Directory List Box ใช้ในการติดต่อแฟ้มข้อมูลในแบบของ Directoryใช้ในการติดต่อ
แฟ้มข้อมูลในแบบของ
P. File List Box ใช้ในการติดต่อแฟ้มข้อมูลในแบบของ File List Box
Q. Shape ใช้สร้างรูปทรงต่างๆ ลงบนฟอร์ม
R. Line ใช้วาดเส้นต่างๆ ลงบนฟอร์ม
S. Image เป็นคอนโทรล ที่ใช้ควบคุมภาพเหมือนกับ Picture แต่ความสามารถจะน้อยกว่า
T. Data Control ใช้เชื่อมต่อกับฐานข้อมูล
U. OLE เป็นคอนโทรลที่นำเอาโปรแกรมสำเร็จรูปที่มีความสามารถ OLE เข้ามาใช้เป็น
ออปเจ็คในโปรเจ็ค

3) วินโดว์ Form


4) วินโดว์ Project Explorer
เป็นตัวแสดงรายละเอียดของโปรเจ็ค ต่างๆ ที่เราสร้างขึ้นมา ดังรูป


5) วินโดว์ Properties
จะเป็นตัวแสดงคุณสมบัติทั้งหมด ของออปเจ็คที่กำลังถูกเลือกอยู่ ซึ่งในการแก้ไขหรือตั้ง
ค่าคุณสมบัติ ทำได้โดยตรง ที่คุณสมบัติและค่า ซึ่งเราสามารถเรียกวินโดว์ Properties โดยเรียกได้
จากเมนู View / Properties Windows หรือกด F4 ซึ่งวินโดว์ Properties ดูได้จาก ดังรูป


6) วินโดว์ Form Layout
จะเป็นตัวแสดงตำแหน่งฟอร์มของโปรเจ็คที่เรากำลังสร้างอยู่ ให้ดูบนจอภาพ เพื่อใช้
กำหนดตำแหน่งขณะที่โปรแกรมทำงานจริงๆ ลักษณะของ Form layout Windows ดูได้ดังรูป


7) วินโดว์ Code Editor
เป็นเนื้อที่ใช้สำหรับเขียนโปรแกรม สามารถเรียกได้โดยใช้เมนู View/Code หรือดับเบิล
คลิกที่ออบเจ็คใดๆ บนฟอร์ม ซึ่งลักษณะของ Code Editor Windows ดูได้ดังรูป


7 ชนิดของข้อมูล ตัวแปร และค่าคงที่
1) บิต, ไบต์
บิต หมายถึง ข้อมูลที่เป็นค่าของตัวเลข ‘0’,’1’ ซึ่งเป็นเลขฐานสอง จะเปรียบเสมือนกับ
สวิตช์ที่มีเพียงสองสถานะ คือ เปิด และ ปิด เท่านั้น
ไบต์ หมายถึง ชุเดของตัวเลขฐานสองแปดตัว เปรียบเสมือนกับสวิตช์แปดตัวเรียงกัน แต่
ละชุดใช้แทนอักขระได้หนึ่งตัวอักษร
หน่วยของข้อมูลในคอมพิวเตอร์ดูได้จากตารางต่อไปนี้


2) ตัวแปรในภาษาคอมพิวเตอร์
ตัวแปร (Variable) หมายถึงชื่อของหน่วยเก็บข้อมูล หรือตำแหน่งของหน่วยความจำของ
ระบบคอมพิวเตอร์ ที่ใช้เก็บค่าต่างๆ ที่เปลี่ยนแปลงได้ระหว่างประมวลผล
ชนิดของตัวแปรใน Visual Basic มีดังนี้


3) การประกาศตัวแปรใน Visual Basic
การประกาศตัวแปร คือการการที่เราบอกเครื่องคอมพิวเตอร์ให้เตรียมเนื้อที่ใน
หน่วยความจำสำหรับตัวแปรที่เราจะใช้ในการประมวลผลในโปรแกรม โดยการประกาศตัวแปร
นั้นเราเรียกว่า Dim (Dimension) ซึ่งมีรูปแบบดังนี้
Dim ชื่อตัวแปร [As ชนิดของตัวแปร]
ค่าที่อยู่ภายในเครื่องหมาย [] จะเป็น Optional คือเราจะใส่หรือไม่ก็ได้ ถ้าไม่ใส่ ตัวแปรที่
เราประกาศขึ้นจะเป็นตัวแปรชนิด Variant
ตัวอย่าง
Dim A As Integer ‘ ประกาศตัวแปรชื่อ A แบบ Integer
Dim B As String ‘ ประกาศตัวแปรชื่อ B แบบ String
Dim C As String * 10 ‘ ประกาศตัวแปรชื่อ C แบบ String มีความยาว 10 ตัวอักษร
ตัวแปรอีกแบบ คือ ตัวแปรแบบ ค่าคงที่ จะใช้ในการเก็บค่าคงที่ที่คาดว่าจะใช้บ่อยใน
โปรแกรม และค่าไม่มีการเปลี่ยนแปลง ซึ่งมีรูปแบบดังนี้
Constant ชื่อตัวแปร = ค่าคงที่

4) ขอบเขตของตัวแปร
ชนิดและขอบเขตของตัวแปรมีดังนี้
ตัวแปร Public จะมองเห็นและเรียกใช้ได้ทุกฟอร์มโมดูล หรือทุกโพรซีเยอร์ในโมดูล
หรือฟอร์มที่ประกาศ การประกาศจะใช้คำว่า Public แทนคำว่า Dim ในการประกาศตัวแปร ต่อจาก
บรรทัด Option variable
ตัวแปร Private จะมองเห็นและเรียกใช้ได้ทุกโพรซีเยอร์ในโมดูล หรือฟอร์มที่เรา
ประกาศเท่านั้น การประกาศจะใช้คำว่า Public แทนคำว่า Private ในการประกาศตัวแปรต่อจาก
บรรทัด Option variable
ตัวแปร Local จะมองเห็นและสามารถเรียกใช้ได้เฉพาะโพรซีเยอร์ที่ประกาศเท่านั้น ใน
การประกาศตัวแปรจะประกาศในโพรซีเยอร์ที่ใช้งาน

วันศุกร์ที่ 11 มีนาคม พ.ศ. 2554

การติดตั้ง และ คุณลักษณะทั่วไปของ Visual Basic(2)

6 ประโยคคำสั่ง (Statement)
Statement หรือประโยคคำสั่ง หมายถึง คำสั่งในโปรแกรมที่เราเขียนขึ้น เพื่อใช้ควบคุม
การทำงานของโปรแกรม โดยสามารถแบ่งออกเป็นสามประเภทใหญ่ๆ คือ
1) ประโยคกำหนดค่า
ประโยคกำหนดค่า (Assignment Statement) คือการเขียนคำสั่งที่ป้อนค่าหรือใส่ค่าให้กับ
ตัวแปรด้วยนิพจน์ต่างๆ ตัวดำเนินการหลักที่ใช้ในประโยคที่ใช้กำหนดค่าของ Visual Basic คือ
เครื่อง หมาย “=”
ตัวอย่างเช่น A = 100
Sum = A + B + C
X = X + 1
‘กำหนดให้ A เท่ากับ 100
‘กำหนดให้ Sum เท่ากับ A + B + C
‘กำหนดให้ X เท่ากับ X + 1

2) ประโยคเงื่อนไข
ประโยคเงื่อนไข (Condition Statement) จะเป็นประโยคคำสั่งในการสร้างเงื่อนไข เพื่อใช้
ในการตัดสินใจตามเงื่อนไขที่ได้กำหนดไว้ คำสั่งประเภทนี้ได้แก่ IF-THEN-ELSE และ SELECTCASE
เป็นต้น
ก) คำสั่ง IF-THEN-ELSE
เป็นคำสั่งที่ใช้เมื่อต้องการให้คอมพิวเตอร์ตัดสินใจ ว่าจะไปทำ งานตรงส่วนไหน ซึ่งมี
รูปแบบดังนี้
IF ( เงื่อนไข ) THEN
……………………..
ELSE
……………………..
END IF
ข) คำสั่ง SELECT-CASE
เป็นคำสั่งที่ใช้ในการเลือกทำ จะมีการทำงานคล้ายกับ IF-THEN-ELSE แต่ Select Case
จะเหมาะสำหรับตรวจสอบค่าตัวแปรเดียว รูปแบบคำสั่ง SELECT-CASE มีรูปแบบดังนี้

SELECT CASE ตัวแปร
Case (ค่าเปรียบเทียบ)
………………………
Case (ค่าเปรียบเทียบ)
………………………
Case (ค่าเปรียบเทียบ)
………………………
END SELECT

3) ประโยควนรอบ
ประโยควนรอบ หรือที่เราเรียกว่าการวนลูป (Iteration Statement) ซึ่งคำสั่งประเภทนี้
ได้แก่ FOR-NEXT และ DO-WHILE เป็นต้น
ก) คำสั่ง FOR-NEXT
รูปแบบคำสั่ง FOR-NEXT
FOR ตัวแปร = ค่าเริ่มต้น TO ค่าสิ้นสุด [ค่าที่เพิ่มขึ้นแต่ละรอบ]
ชุดคำสั่ง
……………….
NEXT
ข) คำสั่ง DO-WHILE-LOOP
รูปแบบคำสั่ง DO-WHILE-LOOP
DO WHILE (เงื่อนไข)
ชุดคำสั่ง
……………….
LOOP

7 ฟังก์ชั่นต่างๆ ใน Visual Basic
ในบทนี้จะเป็นการเรียนรู้ฟังก์ชั่นต่าง ๆ ที่ทำงานกับตัวแปรแบบ String และตัวเลขที่
Visual Basicได้จัดเตรียมมาให้ใช้มากมาย โดยที่เราไมต้องเสียเวลาไปพัฒนาหรือเขียนฟังก์ชั่นนี้
ขึ้นมาใช้เองฟังก์ชั่นการทำงานเกี่ยวกับตัวเลข (Math Function) และ String ในบทนี้จะเป็นฟังก์ชั่น
ที่เรามักจะใช้บ่อย ๆ ในการเขียนโปรแกรม การทำความรู้จักและใช้งานคำสั่งหรือฟังก์ชั่นเหล่านี้จะ
เป็นพื้นฐานที่ช่วยในการเขียนโปรแกรมแก้ปัญหาต่าง ๆ เป็นอย่างมาก

1) ฟังก์ชั่นที่ใช้ในการปัดเศษ
ก) ฟังก์ชั่น Round ()
รูปแบบ Round(expression [,numdecimalplaces] )
ใช้ในการปัดเศษ ให้เท่ากับจำนวนทศนิยมตำแหน่งที่ numdecimalplaces โดยถ้าเลขตัว
ท้ายมากกว่าหรือเท่ากับ 5 จะปัดเศษขึ้น ถ้าน้อยกว่า 5 จะปัดเศษลง
ตัวอย่าง
Dim I As Variant, result As Variant
i = 1.5467
result = Round (i, 0) ‘ผลลัพธ์ = 2
result = Round (i, 1) ‘ผลลัพธ์ = 1.5
result = Round (i, 1.55 ‘ผลลัพธ์ = 1.55
result = Round (i, 3 ‘ผลลัพธ์ = 1.547
ข) ฟังก์ชั่น Into (Number) และฟังก์ชั่น Fix (Number)
ทั้งฟังก์ชั่น Into (Number) และฟังก์ชั่น Fix (Number) ใช้ในการหาค่าส่วนที่เป็นจำนวน
เต็มของตัวเลข Number โดยตัดค่าทศนิยมของตัวเลขทิ้งไป ฟังก์ชั่น Into กับ Fix จะทำงานต่างใน
กรณีที่ค่า ตัวเลขเป็นค่าลบ (Negative) กล่าวคือ Into จะได้ค่าจำนวนเต็มตัวแรกที่น้อยกว่าหรือ
เท่ากับ Number แต่ Fix จะได้ค่าจำนวนเต็มตัวแรกที่มากกว่าหรือเท่ากับ Number
ตัวอย่าง
Dim MyNumberMyNumber = Into (99.8 ‘Returns 99.
MyNumber = Fix (99.2) ‘ผลลัพธ์ 99
MyNumber = Into (-99.8) ‘ผลลัพธ์ -100
MyNumber = Fix (-99.8) ‘ผลลัพธ์ -99
MyNumber = Into (-99.2) ‘ผลลัพธ์ -100
MyNumber = Fix (-99.2) ‘ผลลัพธ์ -99

2) ฟังก์ชั่นเกี่ยวกับค่ายกกำลังและ Exponential
ก) ฟังก์ชั่น Exp (Number)
จะได้ค่า e ยกกำลัง Number โดย e=2.71828
ข) ฟังก์ชั่น Log (Number)
จะได้ค่า In (Number) โดย In คือ Log ฐาน e (2.71828) เช่น Log (10) = 2.30258 เป็นต้น
การเปลี่ยนค่า Log ไปเป็นฐานอื่นสามารถทำได้โดยใช้สูตร เป็นการเปลี่ยนค่าเป็น Log ของ x ใน
ฐาน N LogN (X) = Log(X) / Log (N)
ค) ฟังก์ชั่น Sal (Number)
สำหรับหาค่ารากที่ 2 ของ Number
ตัวอย่าง
Dim MySqr
MySqr = Sql (9) ‘ผลลัพธ์ 3
MySqr = Sql (7) ‘ผลลัพธ์ 2.64575131106459
MySqr = Sql (0) ‘ผลลัพธ์ 0
MySqr = Sql (-5) ‘เกิด error

3) ฟังก์ชั่นในการสุ่มตัวเลข
ก) ฟังก์ชั่น Rnd
จะได้ค่าสุ่มตัวเลขตั้งแต่ 0 ถึงค่าที่น้อยกว่า1 (0.999...) ที่ขึ้นกับเลขฐานถ้าเป็นจำนวนเต็ม
ก็จะได้ค่าเดิมตลอดจึงต้องใช้คำสั่ง Randomize ก่อนการงานใช้ฟังก์ชัน Rnd เพื่อให้ค่าที่สุ่มได้มี
การเปลี่ยนแปลงฐานของเลขก่อน
ตัวอย่าง
Dim MyValue, i
Randomize ‘สร้างตารางเลขสุ่มใหม่
For i = 1 to 1000
MyValue = Into((6*Rnd) + 1) ‘สุ่มตัวเลขตั้งแต่ 1 ถึง 6
Print i
Next i

4) ฟังก์ชั่นในการหาค่าสัมบูรณ์และหาเครื่องหมายของตัวเลข
ก) ฟังก์ชั่น Abs(Number)
หาค่าสัมบูรณ์ของตัวเลข Numner เช่น Abs(-1) = 1, Abs(2) = 2 เป็นต้น
ข) ฟังก์ชั่น Sgn (Number)
ใช้ในการตรวจสอบหาเครื่องหมายบวกหรือลบของ Number โดย
ถ้า Number มากกว่า 0 ‘จะได้ค่ากลับมาเป็น 1
ถ้าค่า Number = 0 ‘จะได้ค่ากลับมาเป็น 0
ถ้า Number น้อยกว่า 0 ‘จะได้ค่ากลับมาเป็น -1
ตัวอย่าง
Dim MyVar1, MyVar2, MyVar3, Mysign
MyVar1 = 10: MyVar2 = -5.4 :MyVar3 = 0
MySign = Sgn(MyVar1) ‘ผลลัพธ์ 1
MySign = Sgn(MyVar2) ‘ผลลัพธ์ -1
MySign = Sgn(MyVar3) ‘ผลลัพธ์ 0

5) ฟังก์ชั่นในการแปลงเลขฐาน
ก) ฟังก์ชั่น Hex (Number)
ใช้ในการแปลงเลขฐาน 10 เป็นสตริงในรูปแบบของเลขฐาน 16 ค่าที่ส่งกลับมาจาก
ฟังก์ชั่น Hex จะเป็นค่าตัวแปรแบบ String สำหรับค่าคงที่ใน Visual Basic เราสามารถกำหนดค่าตัว
เลขที่เป็นเลขฐาน 16 ได้โดยใช้ตัวอักษร &H นำหน้า
ตัวอย่าง
Dim X As Vaiant
X = &H1A ‘ค่า จะเท่ากับ 1 ฐาน 16 ซึ่งเท่ากับ 26 ในฐาน 10
Dim MyHex
MyHex = Hex(5) ‘ผลลัพธ์ “5”
MyHex = Hex(10) ‘ผลลัพธ์ “A”
MyHex = Hex(459) ‘ผลลัพธ์ “1CB”

ข) ฟังก์ชั่น Oct (Number)
ใช้ในการแปลงเลขฐาน 10 (Decimal) เป็นสตริงของเลขฐาน 8 (Octadecimal) สำหรับ
ค่าคงที่ใน Visual Basic เราสามารถกำหนดค่าตัวเลขที่เป็นเลขฐาน 8 ได้โดยใช้ตัวอักษร &O
นำหน้า
ตัวอย่าง
Dim X As Variant
X = &071 ‘ค่า X จะเท่ากับ 71 ฐาน 8 ซึ่งเท่ากับ 57 ฐาน 10
Dim MyOct
MyOct = Oct(4) ‘ผลลัพธ์ 4
MyOct = Oct(8) ‘ผลลัพธ์ 10
MyOct = Oct(459) ‘ผลลัพธ์ 713

6) ฟังก์ชั่นทางตรีโกณมิติ
ก) ฟังก์ชั่น Sin (Number)
แสดงค่า Sine ของมุมที่กำหนดใน Number (ค่าของมุมจะมีหน่วยเป็น Radian โดย
สามารถแปลงองศาเป็น Radian ได้จากสูตร
Degree = Radian * 180/Pi โดย Pi = 3.141592654)
ข) ฟังก์ชั่น Cos (Number)
แสดงค่า Cos ของมุมที่กำหนดใน Number
ค) ฟังก์ชั่น Tan (Number)
แสดงค่า Tan ของมุมที่กำหนดใน Number

วันพฤหัสบดีที่ 10 มีนาคม พ.ศ. 2554

การติดตั้ง และ คุณลักษณะทั่วไปของ Visual Basic

1 ความหมายและความเป็นมาของ Visual Basic
ภาษา Visual Basic เป็นภาษาคอมพิวเตอร์ (Programming Language) ที่พัฒนาโดยบริษัท
ไมโครซอฟท์ซึ่งเป็นบริษัทที่สร้างระบบปฏิบัติการ Windows ที่ใช้กันอย่างแพร่หลายในปัจจุบัน
โดยตัวภาษามีรากฐานมาจากภาษาเบสิก (Basic) ซึ่งย่อมาจาก Beginner’s All Purpose Symbolic
(ชุดคำสั่งหรือ ภาษาคอมพิวเตอร์ สำหรับผู้เริ่มต้น) ภาษาเบสิกมีจุดเด่นคือ ผู้ที่ไม่มีพื้นฐานเกี่ยวกับ
การเขียนโปรแกรมเลย ก็สามารถเรียนรู้และนำไปใช้งาน ได้อย่างง่ายดายและรวดเร็ว เมื่อเทียบกับ
ภาษาอื่นๆ เช่น ภาษาซี (C) ภาษาปาสคาล (Pascal) หรือแอสแชมบลี (Assembler)
ไมโครซอฟท์ได้พัฒนาโปรแกรมภาษา Basic นับตั้งแต่ภาษา MBasic (Microsoft Basic),
BasicA (Basic Advanced) และ Quick Basic ซึ่งได้ติดตั้งมาพร้อมกับระบบปฏิบัติการ MS Dos ใน
ที่สุดใช้ชื่อว่า QBasic แต่ละเวอร์ชันที่ออกมามีการเพิ่มคำสั่งต่างๆ เข้าไปโดยตลอด ซึ่งโปรแกรม
เหล่านี้ล้วนแต่ทำงานใน Text Mode คือเป็นตัวอักษรล้วนๆ จนกระทั่งมีระบบปฏิบัติการ Windows
ทางไมโครซอฟท์ก็ได้ปรับปรุงภาษา Basic ออกมาใหม่เพื่อสนับสนุนการทำงานบน Windows ทำ
ให้ Visual Basic ถือกำเนิดตั้งแต่บัดนั้น
Visual Basic 1.0 เป็นเวอร์ชันแรกออกมาเมื่อปี 1991 โดยในช่วงแรกนั้นยังไม่มีความ
แตก ต่างจาก QBasic มากนัก แต่จะเน้นเครื่องมือที่ใช้ในการเขียนโปรแกรมบนวินโดว์ ซึ่งได้รับ
ความนิยมเป็นอย่างดี ไมโครซอฟท์จึงได้พัฒนา Visual Basic ให้ดีขึ้นเรื่อยๆ จนในปัจจุบัน
เวอร์ชันล่าสุดคือ Visual Basic 6.0 ออกมาในช่วงปี 1998 ได้เพิ่มความสามารถ ในการเขียน
โปรแกรมติดต่อกับเครือข่ายอินเตอร์เน็ต ด้านการเชื่อมต่อกับระบบฐานข้อมูล รวมทั้งเครื่องมือ
และการเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming) ให้สมบูรณ์และสะดวกยิ่งขึ้น

2 ข้อดีของการเขียนโปรแกรมด้วย Visual Basic
ข้อดีของการเขียนโปรแกรมด้วย Visual Basic คือง่ายต่อการเรียนรู้ และเหมาะสำหรับผู้
เริ่มต้น ทั้งในเรื่องของไวยากรณ์ของภาษา และเครื่องมือในการใช้งาน
ภาษา Basic เป็นภาษาที่มีคนเรียนรู้ และมีการใช้งานมากที่สุดในประวัติศาสตร์ ของ
คอมพิวเตอร์
ภาษา Visual Basic มีการพัฒนาอย่างต่อเนื่อง ทั้งในด้านการปรับปรุงประสิทธิภาพของ
ตัวภาษาและความเร็วในการประมวลผล และในด้านความสามารถใหม่ๆ เช่น ความสามารถการ
ติดต่อกับระบบฐานข้อมูล การเชื่อมต่อกับเครือข่ายอินเตอร์เน็ต เป็นต้น
ผู้พัฒนาสำคัญของ Visual Basic คือคือบริษัทไมโครซอฟท์ เราจึงมั่นใจได้ว่า Visual
Basic จะยังมีการพัฒนา ปรับปรุง และคงอยู่ได้อีกนาน

3 ลักษณะการเขียนโปรแกรมของ Visual Basic
การเขียนโปรแกรมของ Visual Basic จะอยู่ในลักษณะของ Event–Driven คือเป็นการ
เขียนโปรแกรมที่ตอบสนองต่อการควบคุมเหตุการณ์ต่างๆ มากมาย ที่เกิดจากการกระทำของผู้ใช้
เป็นการเขียนโปรแกรมที่ผูกไว้กับเหตุการณ์ ที่สามารถเกิดขึ้นกับออบเจ็ค หรือส่วนประกอบต่างๆ
ที่อยู่บนหน้าจอ

4 ความต้องการของระบบในการติดตั้งโปรแกรม Visual Basic 6.0
ในการใช้งาน Visual Basic 6.0 จะมีการต้องการระบบดังต่อไปนี้
1) ระบบปฏิบัติการ Windows 95/98 หรือ Windows NT หรือ Windows XP
2) เครื่องคอมพิวเตอร์ที่มี CPU. 486 DX/66 MHz เป็นอย่างต่ำขึ้นไป แต่ถ้าจะให้
ทำงานได้ดี ควรจะเป็น CPU. รุ่น Pentium ขึ้นไป
3) ไดร์ฟ CD-ROM
4) จอภาพและการ์ดจอ ที่สนับสนุนการทำงานของ Windows


5 การติดตั้งโปรแกรม และการเรียกใช้งาน Visual Basic 6.0
การติดตั้งโปรแกรม Visual Basic 6.0 ก็เหมือนกับการติดตั้งโปรแกรมทั่วๆไปใน
Windows คือโดยการเรียกไฟล์ Setup.exe หรือถ้าเป็นแบบ Auto Run ก็จะมีการเรียกไฟล์ Setup ให้
โดยอัตโนมัติ ขั้นตอนการติดตั้ง Visual Basic 6.0 มีดังนี้
1) ใส่แผ่น Visual studio หรือแผ่น Visual Basic ที่ไดร์ฟ CD-ROM
2) รอให้เครื่องทำการ Auto Run แต่ถ้าโปรแกรมอัตโนมัติของเราไม่ทำงาน ให้ทำ
การเปิดไฟล์ Setup.exe
3) เมื่อมาถึงหน้าจอ Product Number and User ID ให้ใส่รหัสลงทะเบียน (CD-Key)
ชื่อและบริษัทของคุณ
4) ในกรณีที่เครื่องของเรายังไม่มี Internet Explorer 4.0 โปรแกรมจะทำการติดตั้ง
Internet Explorer ให้ก่อน โดยจะปรากฏหน้าจอ Install IE 4.01 ให้คลิกที่ช่อง Install IE 4.01 แล้ว
คลิกที่ปุ่ม Next
5) ที่หน้าของ Installation Option ในส่วนนี้โปรแกรมจะถามว่า ต้องการติดตั้ง
โปรแกรม Internet Explorer แบบ Standard หรือ Full ให้เราทำการเลือก แล้วคลิก Next ต่อไป
6) ที่หน้าของ Windows Desktop Update เครื่องจะถามว่าต้องการเปลี่ยนเดสก์ท็อป
ของ Windows ให้ร่วมกับ Internet หรือไม่ ถ้าเครื่องที่มีหน่วยความจำน้อย ให้เลือกว่า “No” คือไม่
ต้องการ Update desktop
7) เมื่อติดตั้ง Internet Explorer เสร็จแล้วต่อไปก็เริ่มเข้าสู่การติดตั้ง Visual Basic 6.0
ให้ทำการเลือกออปชั่น (Option) Custom แล้วคลิกที่ปุ่ม Next ในส่วนหน้าของ Visual studio 6.0
Enterprise Edition
8) จากนั้นให้ทำการเลือกโปรแกรมที่ต้องการติดตั้ง
9) เมื่อติดตั้งเสร็จแล้ว จากนั้นเครื่องก็จะให้เราทำการ Restart Windows
10) เมื่อ Restart เครื่องและกลับสู่ Windows อีกครั้ง โปรแกรมก็จะถามว่าต้องการ
ติดตั้ง Help หรือไม่ ถ้ามีแผ่น MSDN (Microsoft Developer Network Library Visual studio 6.0)
อยู่แล้ว ก็ให้เลือกตกลง แต่ถ้าไม่มีแผ่นก็ให้ออกจากการติดตั้ง MSDN ซึ่งเมื่อต้องการติดตั้ง Help ก็
สามารถติดตั้งจากแผ่น MSDN ได้โดยตรง
11) เมื่อทำการติดตั้งแล้วก็เป็นอันว่าเสร็จสินขั้นตอนการติดตั้งโปรแกรม และพร้อมที่
จะเข้าไปใช้งาน Visual Basic

วันพุธที่ 9 มีนาคม พ.ศ. 2554

บทที่ 6 การเชื่อมต่อฐานข้อมูลบน Visual Basic 6.0

ในการติดต่อกับฐานข้อมูล โดยปกติแล้ว VB จะเชื่อมโยงผ่านทาง Database Engine ที่เรียกว่า Jet Engine จึงอาจกล่าวได้ว่า Jet Engine คือ ไดเวอร์ชนิดหนึ่ง ซึ่งทําหน้าที่เป็นตัวเชื่อมโยงให้ VB สามารถติดต่อกับฐานข้อมูลได้
โดยฐานข้อมูลหลัก (Default) ที่ VB รู้จักเป็นอย่างดี ก็คือ Micosoft Access แต่ VB สามารถติดต่อกับฐานข้อมูลได้ทุกชนิดเช่นกัน โดยอาศัยเทคโนโลยีหลายๆ อย่าง การติดต่อกับฐานข้อมูลใน Visual Basic จะแยกออกเป็น 4 ประเภทใหญ่ๆ คือ


1. ติดต่อโดยอาศัยคอนโทรลด้านฐานข้อมูล มีศัพท์เรียกคอนโทรลกลุ่มนี้โดยเฉพาะว่า Bound
Controls ส่วนใหญ่แล้วก็คือ กลุ่มของคอนโทรลมาตรฐานที่ใช้กันโดยทั่วไปนั่นเอง เช่น คอนโทรล
TextBox , ListBox , ComboBox เป็นต้น โดยใช้ Data Control เป็นตัวเชื่อมระหว่างฐานข้อมูลกับกลุ่ม
Bound Control
2. ติดต่อโดยใช้ออบเจ็กต์ Data Access Object (DAO) ถือว่าเป็นวิธีที่ล้าสมัยแล้ว โดยมีแนวคิดใน
การติดต่อหรือเข้าถึงข้อมูลในฐานข้อมูลผ่านทางองค์ประกอบต่างๆในฐานข้อมูล เช่น ฟิลด์(Field), เร็ค
คอร์ด(Record), ความสัมพันธ์ระหว่างตาราง(Relation) เป็นต้น โดยจะแทนแต่ละองค์ประกอบเหล่านั้น
ด้วย Object และความคุม Object เหล่านั้นด้วยการเขียน Code
3. ติดต่อผ่าน ODBC โดยตรง (ODBC Direct) เป็นการติดต่อกับฐานข้อมูลแบบ 32 บิต ที่สนับสนุน
มาตรฐาน ODBC (Open DataBase Connectivity) ที่ Jet Engine ไม่สามารถจัดการได้ เช่นฐานข้อมูล
ของ Oracle , SQL Server เป็นต้น ซึ่งเป็นการติดต่อเฉพาะฐานข้อมูลที่มีการเก็บข้อมูลในรูปแบบ
ตารางเท่านั้น
4. เข้าถึงข้อมูลโดยอาศัยเทคโนโลยี OLEDB เป็นรูปแบบการติดต่อกับฐานข้อมูลผ่านทางกลุ่ม
ออบเจ็กต์ในโมเดล ADO (ActiveX Data Object) ซึ่งใช้ OLEDB Provider เป็นกลไกในการเข้าถึง
ข้อมูลในฐานข้อมูลแทน Jet Engine โดยเปลี่ยนจากมุมมองการติดต่อฐานข้อมูลแบบเดิมๆ ที่ต้อง
กําหนดชนิดของฐานข้อมูลมาเป็นมองที่รูปแบบการเชื่อมต่อ (Connection) เข้ากับฐานข้อมูล OLEDB
เป็นเทคโนโลยีล่าสุดที่ไมโครซอฟต์วางตําแหน่งให้เป็นยุคต่อไป

ในการเข้าถึงข้อมูลในฐานข้อมูลที่มีรูปแบบการเก็บข้อมูลสารพัดรูปแบบ ซึ่งไม่ได้จํากัดตัวเองเฉพาะตารางใน Visual Basic สามารถใช้ OLEDB ได้ 2 แบบคือ
- โดยการใช้ ADO Data Control ร่วมกับกลุ่มของ ActiveX Bound Controls ถ้าสังเกตจาก
ชื่อของ Control จะมีคําว่า OLEDB ต่อท้าย เช่น DataGrid, DataCombo
- ActiveX Data Object โดยการเขียนโปรแกรมควบคุม ในบทนี้จะกล่าวถึงเฉพาะ การเข้าถึงข้อมูลโดยอาศัยเทคโนโลยี OLEDB (ADO) และใช้ฐานข้อมูลของ Microsoft Access
โดยมีตารางดังนี้ (สร้างตารางใน Microsoft Access)


ในกรณีที่ต้องการพัฒนา Application ด้านฐานข้อมูลโดยอาศัยเทคโนโลยี OLEDB ควรจะเลือก VBIDE ชนิด Data Project

6.1 การใช้ ADO Data Control
ถ้าไม่ได้เลือกใช้ VBIDE ชนิด Data Project แต่เลือกเป็นชนิด StandardEXE จะต้องเพิ่ม Control
ขึ้นมาก่อนโดยผ่าน Components และใช้ Control ที่ชื่อว่า Microsoft ADO Data Control 6.0 (OLEDB) ดังรูปที่

6.1 ต่อไปนี้


เมื่อเพิ่ม Control แล้ว ให้ลาก ADO Data มาวาดลงบน Form จะมีลักษณะดังนี้


การกําหนดค่าที่ Property ต่างๆ จะเริ่มที่ Property ConnectionString เมื่อคลิกที่ Property นี้จะ
ปรากฏ ไดอะล็อกบล็อค ดังรูปที่ 6.3


การเชื่อมต่อด้วยวิธีของ ADO จะสามารถทําได้ 3 วิธี
1. Use Data Link File วิธีนี้เป็นการสร้างไฟล์เชื่อมโยงกับฐานข้อมูลขึ้นมาก่อน แยกออกมาเป็นไฟล์ต่างหาก มีนามสกุลเป็น .udl ถ้าเชื่อมโยงกับข้อมูลให้ใช้ไฟล์นามสกุล .udl นี้
2. รูปแบบ Use ODBC Data Source Name เป็นการกําหนดชื่อ DSN เพื่อเชื่อมโยงไปยังฐานข้อมูลที่ต้องการใช้งานผ่านทาง ODBC เมื่อต้องการใช้งานฐานข้อมูล ก็จะใช้ชื่อ DSN ที่ตั้งขึ้นมา เป็นชื่ออ้างอิงไปยังฐานข้อมูลที่กําหนดไว้
3. Use Connection String เป็นวิธีที่ง่ายที่สุด เหมาะกับผู้เริ่มต้นที่ไม่เคยสร้าง Lnk File หรือ ODBC มาก่อนซึ่งวิธีนี้มีขั้นตอนดังนี้ เริ่มต้นที่การคลิกที่ที่ Build.. เพื่อกําหนดการเชื่อมต่อ ซึ่งจะปรากฏไดอะล็อกบล็อก ให้เพื่อกําหนด Provider ที่ต้องการติดต่อดังรูปที่ 6.4


เลือกที่ Microsoft Jet 4 OLE DB Provider เนื่องจากต้องการเชื่อมโยงกับ Access จากนั้นคลิกที่
ปุม Next >> เพื่อกําหนดชื่อของฐานข้อมูลที่ต้องการติดต่อด้วย ดังรูปที่ 6.5


กําหนดฐานข้อมูลที่ต้องการติดต่อ เมื่อกําหนดฐานข้อมูลเสร็จแล้วให้ทดสอบการเชื่อมโยงกับ
ฐานข้อมูลโดยการคลิกที่ Test Connection หากเชื่อมโยงได้เรียบร้อยแล้ว ก็จะปรากฏไดอะล็อกบล็อก ดังรูปที่ 6.6


เมื่อ Test Connection เสร็จแล้วก็คลิกที่ OK ก็จะปรากฏข้อมูลในช่อง Use Connection String ดังรูปที่
6.7 ดังนี้


นอกจากการกําหนดค่าใน ConnectionString นี้แล้ว ยังมี Property ที่สําคัญอีกสิ่งหนึ่งคือ
“RecordSource” เมื่อคลิกที่ Property นี้ จะปรากฏไดอะล็อกบล็อกให้กําหนดรายละเอียดของ Table ที่ต้องการดังรูปที่ 6.8


6.2 การใช้ Data Grid ร่วมกับ ADO Data Control
จะใช้ Components ที่ชื่อ Microsoft Data Grid Control 6.0(OLEDB)
การใช้งาน Data Grid จะต้องกําหนด Properties ที่สําคัญดังต่อไปนี้

ชื่อ Propertyความหมาย
Nameชื่อของ Data Grid
Captionกําหนดข้อความเพื่อให้ปรากฏบน Grid
DataSourceเลือก ADO Data Control ที่อ้างถึงตารางที่ต้องการ
AllowUpdateเลือกเป็น T/F เพื่อกําหนดให้แสดงข้อมูลอย่างเดียวหรือให้แก้ไขได้ด้วย
Custom เพื่อกําหนดคุณสมบัติอื่นๆ เช่น Column กําหนดชื่อของหัวตารางแทนชื่อ Field

* คลิกขวาที่ Data Grid / Retrieve Fields เพื่อให้ Field ทั้งหมด แสดงขึ้นมา

6.3 การเขียนโปรแกรมกับ ADO Data Control
6.3.1 การใช้งาน Object RecordSet
เมื่อจะใช้คําสั่งต่างๆ เช่น คําสั่งที่ใช้ในการเลื่อนเคอร์เซอร์, AddNew, Update, Eof, Bof, EditMode เป็นต้น ก็จะต้องอ้างถึง RecordSet ก่อน



ตัวอย่างที่ 6.1 การติดต่อกับฐานข้อมูลและการใช้ datagrid เพื่อแสดงผล


6.3.2 การค้นหาข้อมูล
การค้นหาข้อมูลในฐานข้อมูล ถือได้ว่าเป็นคุณสมบัติที่ในทุกๆ ฐานข้อมูลควรจะมี เพราะถือว่าเป็นการ
อํานวยความสะดวกให้ผู้ใช้ โดยไม่ต้องหาข้อมูลที่ต้องการทีละ Record การค้นหาข้อมูลในฐานข้อมูลผ่านทางคอนโทรล ADO Data จะใช้ Method Find ของออบเจ็กต์ RecordSet ซึ่งมีรูปแบบดังนี้


6.3.3 การควบคุมการเลื่อน Record Pointer และคุณสมบัติของ BOF/EOF
ข้อมูลที่เก็บอยู่ในตารางจะเรียงซ้อนกันอยู่ ดังรูป


ตําแหน่งของ BOF (Begin Of File) คือตําแหน่งที่อยู่ก่อน Record แรกในตารางส่วน EOF(End Of File)
คือตําแหน่งที่อยู่ถัดไปจากเรคคอร์ดสุดท้ายในตาราง ตรงกลางเป็นหมายเลขประจํา Record การคลิกที่ Data Control จะควบคุมในการเลื่อน Record ไปยัง Record ที่ต้องการโดยใช้ Properties ย่อยของ RecordSet ดังนี้

ชื่อ Properties ย่อยลักษณะการทํางาน
MoveFirstเลื่อนเคอร์เซอร์ไป Record แรกสุด
MoveLastเลื่อนเคอร์เซอร์ไป Record สุดท้าย
MoveNextเลื่อนเคอร์เซอร์ไป Record ถัดไป
MovePreviousเลื่อนเคอร์เซอร์ไป Record ก่อนหน้า

ตัวอย่างที่ 6.2 การค้นหาข้อมูล



ตัวอย่างที่ 6.3 การเพิ่ม แก้ไข ลบ บันทึก ข้อมูล


วันอังคารที่ 8 มีนาคม พ.ศ. 2554

บทที่ 5 การสร้าง menu และ debug โปรแกรมบน visual basic 6.0

การจัดทําระบบงาน จําเป็นต้องสร้างเมนูซึ่งเป็นการกําหนดช่องทางเข้าสู่โปรแกรม เพื่อสร้างความสะดวกให้กับผู้ใช้งาน สําหรับเมนูที่สร้างขึ้นโดย Visual Basic นั้นเป็นแบบเดียวกับเมนูบน Application ต่างๆ ซึ่งใช้งานและเข้าใจได้ง่าย อีกทั้งสามารถสร้าง Hot Key ได้อีกด้วย การสร้างเมนูมีวิธีดังหัวข้อ 5.1ต่อไปนี้
5.1 การสร้างเมนู

ก่อนอื่นต้องสร้าง Form ว่างๆ เพื่อใช้สร้างเมนูมาก่อน โดยการ Add New และคลิกที่ Menu Bar
Tools / Menu Editor จะปรากฎ Menu Editor ดังรูปต่อไปนี้


Caption ใช้สําหรับกรอกข้อความที่ต้องการให้ปรากฏใน Menu และถ้าต้องการให้เรียกใช้ Hot Key ได้ก็ใส่สัญลักษณ์ & ไว้ข้างหน้าข้อความเช่น &File เป็นต้น ในขณะที่ Run จะมีเส้นขีดที่ใต้ตัว F และผู้ใช้สามารถกด Alt-F แทนการคลิกที่ปุ่ม File ได้ ส่วน Name เป็นอีกช่องที่จําเป็นต้องใส่เพราะเป็นการกําหนดชื่อที่จะอ้างอิงถึง Object ใน แต่ละช่องทาง (แต่ละเมนูย่อยมีค่าเป็น 1 Object)


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


Checked เป็นการกําหนดให้มีสัญลักษณ์ Checkbox ที่ข้างหน้าชื่อเมนู ส่วน Enabled และ Visible เป็นส่วนที่กําหนดให้ใช้งานและมองเห็นเมนูหรือไม่ ส่วน Windowslis เป็นส่วนที่บอกให้ทราบถึงการมีเมนูย่อยโดยจะมีสัญลักษณ์รูปสามเหลี่ยมเพื่อให้ผู้ใช้งานทราบว่ามีเมนูย่อย

ทดลองสร้างเมนูย่อยให้มี 2 เมนูหลักที่ชื่อ File และ Edit โดยที่ ภายใต้ File มีเมนูย่อย Open Save Close และ Exit และ Edit มีเมนูย่อย … ดังภาพที่


จากตัวอย่างของเมนูข้างต้น สามารถกําหนดค่าต่างๆ ใน Menu Editor ได้ดังต่อไปนี้


สําหรับการเรียก Form ย่อย จะสามารถใช้ Property show เช่นถ้าต้องการเรียกฟอร์มชื่อ Test ก็จะใช้
Test.show ใน Even Click ของเมนูนั้นๆ

5.2 การตรวจสอบข้อผิดพลาดของโปรแกรม
การตรวจสอบความถูกต้องของโปรแกรมเป็นสิ่งสําคัญ เพราะการเขียนโปรแกรม ผู้เขียนต้องรู้จักวิธีตรวจสอบและแก้ไขโปรแกรมที่มักเรียกว่า “การดีบัก”(Debug) เพื่อทําให้โปรแกรมมีความถูกต้อง มีวิธีที่นิยมใช้ดังต่อไปนี้
5.2.1 การใช้ Immediate Windows
Immediate Windows เป็นหน้าต่างที่ใช้สําหรับตรวจสอบตัวแปรและผลจากคําสั่งที่ผู้เขียนโปรแกรม
ต้องการทดสอบซึ่งสามารถเรียกหน้าต่าง Immediate Windows ขึ้นมาโดยเรียกที่เมนู View / Immediate Windows จะปรากฏ หน้าต่าง Immediate ดังนี้


การใช้งาน Immediate Windows ผู้เขียนโปรแกรมอาจทดลองคําสั่งโดยการพิมพ์ลงบนหน้าต่างแล้วให้
แสดงผลลัพธ์ที่ต้องการด้วยการใช้เครื่องหมาย ? หน้าคําสั่ง ฟงก์ชั่น หรือตัวแปรที่ต้องการได้ ตัวอย่างเช่น


อีกวิธีหนึ่งที่ผู้เขียนโปรแกรมจะสั่งให้พิมพ์ผลลัพธ์จากโปรแกรมที่เขียนอยู่โดยการใช้คําสั่ง Debug.print
(โดยที่ n คือตัวแปรหรือ Object ที่ต้องการให้แสดงข้อมูล) เพื่อนําค่าจากตัวแปรที่ต้องการไปแสดงในหน้าต่าง Immediate ตัวอย่างเช่น



5.2.2 การใช้หน้าต่าง Debug
หน้าต่าง Debug หรือ Debugger เป็นเครื่องมือช่วยเพิ่มความสะดวกให้กับผู้เขียนโปรแกรมในการ
ตรวจสอบความถูกต้องของโปรแกรม มีความสามารถในการตามรอยโปรแกรมในลักษณะต่างๆ ได้ ผู้ใช้
สามารถเรียกหน้าต่าง Debug ขึ้นมาโดยเรียกจาก เมนู View / Toolbars / Debug จะปรากฎหน้าต่าง
Debug ดังนี้


เครื่องมือที่ใช้งานบ่อยๆ ได้แก่ Toggle Breakpoints , Step into , Step Over , Step Out โดยมี
หน้าที่แตกต่างกันดังนี้

ชื่อลักษณะการทํางาน
Toggle Breakpointsใช้สําหรับกําหนดจุดสิ้นสุดที่จะ Run Program เนื่องจากการแก้ไข
โปรแกรม ผู้เขียนอาจต้องการทดสอบการทํางานเพียงส่วน โดยต้องการให้
ไปหยุดการทํางานเมื่อถึงบรรทัดที่กําหนด โดยที่คลิกด้านหน้าของบรรทัด
คําสั่งที่ Editor จะปรากฎ วงกลมสีแดง หรือจะใช้วิธีคลิกที่ Icon
Breakpoint หรือ กด F9 ก็ได้
Step intoใช้สําหรับสั่งให้ Run Program ไปทีละบรรทัดคําสั่ง โดยที่ผู้ใช้สามารถ
ตรวจสอบการทํางานของ Logic Program ได้ง่ายและชัดเจน เรียกใช้โดย
การกด F8
Step Overการทํางานคล้ายกับ Step into แต่จะแตกต่างกันตรงเมื่อมีการเขียน
โปรแกรมให้เรียกใช้ฟงก์ชั่นที่เขียนขึ้นมาเอง โดยที่ Step Over จะข้ามการ
แสดงการทํางานในส่วนของ Function นั้น เรียกใช้โดยการกด Shift+F8
Step Outใช้สําหรับต้องการ Run โปรแกรมต่อจนจบโปรแกรมเรียกใช้โดย การ
กด Ctrl+Shift+F8

บทที่ 4 การใช้งานคำสั่งและฟังก์ชั่นต่าง ๆ บน Visual Basic 6.0

ฟังก์ชั่น หมายถึงชุดคําสั่ง(Routine) ที่ใช้ในการทํางานอย่างใดอย่างหนึ่ง โดยการส่งค่าที่ฟังก์ชั่นต้องการไป(ค่าพารามิเตอร์) เพื่อให้ฟังก์ชั่นทํางานตามข้อกําหนดในฟังก์ชั่นนั้นๆ แล้วคืนค่าต่างๆ ตามการทํางานของฟังก์ชั่นกลับมา บางฟังก์ชั่นสามารถเป็นคําสั่งได้ด้วย

คําสั่ง หมายถึง คําสั่งโดยทั่วไปที่ใช้ในการเขียนโปรแกรม เช่น กลุ่มคําสั่งในการกระโดดข้ามไปทํางานยังบรรทัดที่ต้องการ (Branching) กลุ่มคําสั่งในการวนรอบการทํางาน (Iteration) และกลุ่มคําสั่งเงื่อนไข (Condition)


4.1 การควบคุมการทํางานของโปรแกรม
4.1.1 Iteration เป็นคําสั่งที่ใช้ในการทําซ้ํา มีอยู่ด้วยกัน 3 รูปแบบคือ คําสั่ง For…Next, Do…Loop และ While… End ซึ่งแต่ละแบบก็จะมีลักษณะการทํางานที่ซ้ําที่แตกต่างกันไป
1) For...Next
การทําซ้ําในแบบ Block โดยกําหนดค่าเริ่มต้น และค่าสิ้นสุด ที่ใช้ควบคุมจํานวนครั้งของ
การทําซ้ํา ซึ่งถูกควบคุมโดยตัวนับ (Counter) ตัวนับนี้จะถูกกําหนดให้มีค่าเท่ากับค่าเริ่มต้น และจะถูกเปลี่ยนแปลงค่าทุกครั้งในแต่ละรอบของการทําซ้ำ จนกระทั่งค่าของตัวนับมีค่าเกินค่าสิ้นสุดที่กําหนดไว้ ก็จะออกจาก Block การทําซ้ํา เพื่อทํางานในบรรทัดถัดไป

ตัวอย่างที่ 4.1 For..next โปรแกรมบวกเลขตั้งแต่ 1 ถึง 10


2) Do…Loop
มีรูปแบบอยู่ 4 แบบ แบ่งตามลักษณะเงื่อนไขการจบของ Loop ดังนี้ Do While, Do
Until และ Loop Until ทั้ง 4 แบบนี้จะทําซ้ําไปเรื่อยๆ จนกว่าเงื่อนไขที่ใช้ควบคุมมีค่าเป็น False
ขั้นตอนการทํางานของทั้ง 4 แบบแสดงด้วย Flow Chart ได้ดังนี้


ตัวอย่างที่ 4.2 การใช้ Do While ..Loop


ตัวอย่างที่ 4.3 การใช้ Do Until ..Loop


3) Conditional การกําหนดเงื่อนไข
ใช้กําหนดให้กลุ่มคําสั่งภายใต้เงื่อนไขทํางาน เมื่อเงื่อนไขที่ใช้ควบคุมเป็นจริงหรือเป็นเท็จ
คําสั่งเหล่านี้ได้แก่ If … Then…Else และ Select Case … End Select


ตัวอย่างที่ 4.4 การใช้ if ….then หรือ select case


4.2 ฟังก์ชัน
1) ฟังก์ชั่น Str แปลงตัวเลขให้เป็นตัวอักษร เช่น


2) ฟังก์ชั่น ตัดคําใน String ได้แก่ Left, Mid ,Right

ตัวอย่างที่ 4.5 แสดงข้อความใน text1 เฉพาะ3 หลักซ้าย และ 2 หลักขวา



3) ฟังก์ชั่น Asc และ Chr ใช้ในการดูค่ารหัส ASCII


ตัวอย่างที่ 4.6 แสดงรหัส Ascii เมื่อกด key ใดๆ


4) การตัดช่องว่างใน String ทิ้ง
ฟังก์ชันที่ใช้ในการตัดช่องว่างใน String ทิ้ง ประกอบด้วย Ltrim$ หรือ Ltrim, Trim และ Rtrim
A = “ Hello ”
B = Ltrim(A) ตัดช่องว่างทางซ้าย ได้ผลลัพธ์เป็น “Hello “
C = Rtrim(A) ตัดช่องว่างทางขวา ได้ผลลัพธ์เป็น “ Hello”
D = Trim(A) ตัดช่องว่างทั้งซ้ายและขวา ได้ผลลัพธ์เป็น “Hello”

5) การแปลงขนาดของตัวอักษรใน String โดยใช้ Lcase หรือ Ucase
A = “Hello”
B = Lcase(A) แปลงจากตัวพิมพ์ใหญ่ -> เล็ก ได้ผลลัพธ์เป็น “hello”
D = Ucase(B) แปลงจากตัวพิมพ์เล็ก->ใหญ่ ได้ผลลัพธ์เป็น “HELLO”

6) ฟังก์ชันที่แปลง String ไปเป็น Numeric
รูปแบบ : val(...)
ตัวอย่าง : val(text1.text) -> แปลงค่าใน text1 ให้เป็น ตัวเลข

7) ฟังก์ชัน Len
ใช้สําหรับนับจํานวนของตัวอักขระ โดยจะคืนค่าจํานวนอักขระเป็นตัวเลขที่ใช้ในการคํานวณได้
รูปแบบ : Len(String)
ตัวอย่าง : A = “Hello”
B = Len(A) -> ผลลัพธ์ที่ได้ คือ B = 5
C = Len(“Visual”) -> ผลลัพธ์ที่ได้คือ C = 6

8) ฟังก์ชันปัดเศษ
ใช้ปัดเศษของตัวเลขที่กําหนด
รูปแบบ : Round(expression[, numdecimalplaces])
ตัวอย่าง : Round(45.528,2) หรือ Round(text1.text,2)

9) การแปลงชนิดของตัวแปร
- ใช้สําหรับแปลงค่าของตัวแปร ซึ่งเก็บอยู่ในรูปแบบหนึ่งไปเก็บอยู่ในตัวแปรอีกรูปแบบหนึ่ง โดยยังคงค่าในตัวแปรนั้นไว้เช่นเดิม
- เช่น แปลงจากตัวแปรแบบ Double ไปเป็นแบบ Currency หรือแปลงจากตัวแปรแบบ Integer ไปเป็นตัวแปรแบบ Double เป็นต้น

CcurCCur(expression)แปลงค่า expressionให้อยู่ในรูป Currency
CDbl CDbl(expression)แปลงค่า expressionให้อยู่ในรูป Double
CInt CInt(expression)แปลงค่า expressionให้อยู่ในรูป Integer
CLng CLng(expression)แปลงค่า expressionให้อยู่ในรูป Long
CSngCSng(expression)แปลงค่า expressionให้อยู่ในรูป Single
CStrCStr(expression)แปลงค่า expressionให้อยู่ในรูป String
CvarCvar(expression)แปลงค่า expressionให้อยู่ในรูป Variant
CBool CBool(expression)แปลงค่า expressionให้อยู่ในรูป Boolean
CByteCByte(expression)แปลงค่า expressionให้อยู่ในรูป Byte
CDec CDec(expression)แปลงค่า expressionให้อยู่ในรูป Decimal

10) ฟังก์ชัน CVDate และ CDate
- ใช้สําหรับแปลงวันที่จาก String หรือตัวเลขให้อยู่ในรูปของ Date
- CVDate จะคืนค่าข้อมูลกลับมาเป็นประเภท Variant
- CDate จะคืนค่าข้อมูลกลับมาเป็นประเภท Date
รูปแบบ :
 CDate(string หรือตัวเลข)
 CVDate(string หรือตัวเลข)

11) คําสั่งและฟังก์ชั่น Date, Date$
- ฟังก์ชัน Date$ จะคืนค่ากลับมาเป็นวันที่ในรูปของ String (10 ตัวอักษร)ในรูปแบบ mm-dd-yyy
- ฟังก์ชัน Date จะคืนค่ากลับมาเป็นวันที่ในรูปของ Date แต่ในกรณีที่นําฟังก์ชัน Date ไปใช้กับ
textbox มันจะถูกแปลงให้อยู่ในรูปแบบ m/d/yy โดยอัตโนมัติ

12) ฟังก์ชัน DateSerial
ใช้สําหรับแปลงค่าที่เป็น ตัวเลข  Date
รูปแบบ : DateSerial(year,month,day)
โดยที่
year หมายถึง ตัวเลขที่มีค่าระหว่าง 10-9999
month 1-12
day 1-31
ตัวอย่าง : dateserial(2003,11,10)

13) ฟังก์ชัน DateValue
ใช้แปลงค่าที่เป็น String  Date
รูปแบบ : DateValue(date)
ตัวอย่าง : datevalue(“25/10/03”)

14) ฟังก์ชัน WeekDay, Day, Month และ Year
A = Year(Date)
B = Month(Date)
C = Day(Date)
D = WeekDay(Date)

15) คําสั่งและฟังก์ชัน Time, Time$
- Time คืนค่าในรูปของ time
A จะมีค่าเป็น 2003 (วันที่ปัจจุบันเป็น 12/11/2003)
B จะมีค่าเป็น 11
C จะมีค่าเป็น 12
D จะมีค่าเป็น 5 (วันพุธ)
- Time$ คืนค่ากลับมาเป็นเวลาในรูปของ String (8 ตัวอักษร)

16) ฟังก์ชัน TimeSerial
ใช้สําหรับแปลงค่าที่เป็นตัวเลข เวลา
รูปแบบ : TimeSerial(hour, minute , second)
โดยที่ hour หมายถึง ตัวเลขที่มีค่าระหว่าง 0-23
minute หมายถึง ตัวเลขที่มีค่าระหว่าง 0-59
second หมายถึง ตัวเลขที่มีค่าระหว่าง 0-59

17) ฟังก์ชัน TimeValue
ใช้สําหรับแปลงค่าที่เป็น String เวลา
รูปแบบ : TimeValue(time)
โดยที่ time จะหมายถึงเวลาที่อยู่ในรูปแบบของ String เช่น “3:05”, “3:05:20”, “3:05 pm”

18) ฟังก์ชัน Hour, Minute และ Second
รูปแบบ : Hour (time) | Minute (time) | second (time)
โดยที่ Time หมายถึง เวลาที่อยู่ในรูปแบบของ Date เช่น
A = Hour(Time)
B = Minute(Time)
C = Second
A จะมีค่าเป็น 10 (เวลาปัจจุบันเป็น 10:15:29)
B จะมีค่าเป็น 15
C จะมีค่าเป็น 29
หมายเหตุ : ค่าที่ปรากฏในวงเล็บของทั้ง 3 ฟังก์ชัน คือ เวลา ซึ่งในที่นี้ฟังก์ชัน Time เพื่อบอกเวลาปัจจุบัน

19) ฟังก์ชัน Now
ใช้สําหรับแสดงค่าของวันและเวลาปัจจุบันในรูปแบบของ Date เช่น text1.text = now

20) ฟังก์ชั่น Format( )
เป็นฟังก์ชั่นที่ใช้ในการแสดงผลตัวเลขในรูปแบบต่างๆ โดยมีรูปแบบที่นิยมใช้งานดังนี้
รูปแบบ : Format(ข้อมูลที่แสดงผล , “สัญลักษณ์รูปแบบการแสดงผล”)

สัญลักษณ์แสดงผลรายละเอียด
0ใช้ แทนด้วย 0 ในกรณีที่ต้องการให้หลักที่ไม่มีตัวเลขเป็น 0
#ใช้กําหนดแทนการแสดงผลด้วยตัวเลขทั่วไป
.ใช้กําหนดตําแหน่งที่ต้องการแสดงจุดทศนิยม
,ใช้กําหนดเครื่องหมายจุลภาคคั่น
:แสดง : สําหรับค่าเวลา (ใช้ hh:mm:ss แทนชั่วโมง นาที และวินาที)
/แสดง / สําหรับค่าวันที่
General Numberแสดงตัวเลขทั่วไปโดยไม่มีเครื่องหมายจุลภาค
Currencyแสดงตัวเลขในทางการเงินโดยมีเครื่องหมายจุลภาคและจะมีทศนิยมได้ตามที่กําหนดไว้ใน Control Panel
Fixedแสดงตัวเลขโดยไม่มีจุลภาคและมีทศนิยมสองตําแหน่ง

ตัวอย่างที่ 4.7 การใช้ฟังก์ชั่น format


21) ฟังก์ชั่น Msgbox( )

Private Sub Cmd1_Click()
X = Text1.Text
Label4.Caption = Format(X, "#,###.00")
End Sub

Private Sub Form_Load()
Label7.Caption = "วันที่ " & Format(Date, "long date")
End Sub

Function Msgbox หรือ Message box เป็นคําสั่งและ Function ที่เรียกใช้ Dialog box ของ
windows ขึ้นมาเพื่อแสดงข้อความและโต้ตอบกับผู้ใช้
รูปแบบ : Msgbox(“ข้อความ”,[buttons],[title])
โดยที่ buttons คือรูปแบบของปุ่มที่จะปรากฎขึ้นมาโต้ตอบและสัญลักษณ์ที่แสดงขึ้นมา
title คือ ข้อความที่ปรากฏอยู่ใน Title Bar

ค่าของ buttons มีดังนี้

ค่าคงที่ค่าตัวเลขรายละเอียด
VbOKOnly0แสดงปุ่ม OK
VbOKCancel 1แสดงปุ่ม OK และ Cancel
VbAbortRetryLgnore2แสดงปุ่ม Abort Retry และ Ignore
VbYesNoCancel 3แสดงปุ่ม Yes No และ Cancel
VbYesNo 4แสดงปุ่ม Yes และ No
VbRetryCancel 5แสดงปุ่ม Retry และ Cancel
VbCritical 16แสดง Icon Critical Message
VbQuestion 32แสดง Icon Warning Query
VbExclamatin 48แสดง Icon Warning Message
VbInformation64แสดง Icon Information Message
VbDefaulbutton10กําหนดให้ปุ่มแรกมีค่าเป็นปุ่ม Default
VbDefaulbutton2256กําหนดให้ปุ่มที่สองมีค่าเป็นปุ่ม Default
VbDefaulbutton3 512กําหนดให้ปุ่มที่สามมีค่าเป็นปุ่ม Default


เช่น หากใช้คําสั่ง Msgbox “กรุณาตรวจสอบความถูกต้องของข้อมูล”,52,”โปรดยืนยัน” จะแสดง Dialog
box ได้ดังรูป


สําหรับค่า 52 มาจาก 4+48 หรืออาจเขียนแทนด้วย VbYesNo+VbExclamation แทนได้ ในกรณีที่
ผู้เขียนโปรแกรมต้องการควบคุมการทํางานหลังจากที่ได้คลิกที่ปุ่มต่างๆ จะต้องใช้ Function Msgbox โดยใช้เงื่อนไขตรวจสอบการคืนค่าของ Function Msgbox มีวิธีดังต่อไปนี้
การคืนค่าของ Function Msgbox
ในกรณีของการเขียนโปรแกรมควบคุม เมื่อผู้ใช้คลิกที่ปุ่มใดๆ ต้องการส่งผลที่แตกต่างกันในการทํางาน
จะต้องตรวจสอบการคืนค่าโดยใช้ตารางการคืนค่า Msgbox ดังตารางต่อไปนี้


ค่าคงที่ค่าตัวเลขรายละเอียด
VbOk1เมื่อปุ่ม OK ถูกคลิก
VbCancel 2เมื่อปุ่ม Cancel ถูกคลิก
VbAbort 3เมื่อปุ่ม Abort ถูกคลิก
VbRetry4เมื่อปุ่ม Retry ถูกคลิก
VbIgnore5เมื่อปุ่ม Ignore ถูกคลิก
VbYes6เมื่อปุ่ม Yes ถูกคลิก
VbNo 7เมื่อปุ่ม No ถูกคลิก

เช่น

If Msgbox (“ต้องการเลิกการทํางาน ?”,52,”โปรดยืนยัน”) = 6 Then
Unload Me
Endif

บทที่ 3 การกำหนดตัวแปรและประเภทของข้อมูล(Variable and Data Type) (จบ)

ตัวอย่างที่ 3.1 การกําหนดตัวแปรแบบ implicit (ใช้สัญลักษณ์) ใช้งานได้เฉพาะ Private sub นั้นๆ



ตัวอย่างที่ 3.2 การกําหนดตัวแปรแบบ Explicit (มีคําว่า Dim) ใช้งานได้ทุกๆ Private sub (public)


3.5 Operator (เครื่องหมาย)
1) เครื่องหมายการกําหนดค่า (Assignment Operator) ใช้เครื่องหมาย =
A! = 10
Name$ = first & Lastname
Status = (235*3)>(1500/3-100)
name = Text1.text

2) Arithmetic Operation เป็น Operator ที่ใช้ในการคํานวณ ประกอบด้วยสัญลักษณ์ดังนี้

เครื่องหมายความหมาย
^ยกกําลัง
-ลบ (Operand เดี่ยว)
*, /คูณหรือหาร (10/3 = 3.333333..)
\หารแบบ Integer (10\3 = 3)
Mod Modulo(หารเอาเฉพาะเศษ)
+ , -บวก หรือ ลบ
&การต่อข้อความ (String)

3) Relational Operation เครื่องหมายที่ใช้ในการเปรียบเทียบ ซึ่งจะได้ผลเป็นค่าจริง(True) หรือเท็จ
(False) เท่านั้น มักจะใช้ร่วมกับคําสั่ง if…End if สัญลักษณ์ที่ใช้มีต่อไปนี้

เครื่องหมายความหมาย
=เท่ากับ
<>ไม่เท่ากับ
>มากกว่า
<น้อยกว่า
>=มากกว่าหรือเท่ากับ
<=น้อยกว่าหรือเท่ากับ
Likeเปรียบเทียบ String


หมายเหตุ :
Like จะใช้เปรียบเทียบ String 2 ค่าหากเหมือนกันทุกประการจะกําหนดค่าให้เป็นจริง(True)
เช่น A = “Com” Like “Com” // A จะมีค่าเป็น True
B = “Sit” Like “Sitthai” // B จะมีค่าเป็นเท็จ False เป็นต้น


4) Logical Operation
ใช้สําหรับเชื่อมประโยคเงื่อนไข หลายๆ ประโยคเข้าด้วยกัน ดังตารางต่อไปนี้

เครื่องหมายความหมาย
Not LogicalNegation
And Logicaland
Or Inclusive
Imp Implication
Or
Eqv LogicalEquivalence
Xor ExclusiveXOR


ข้อสังเกต :
Xor (Exclusive Or) จะมีค่าเป็น F เมื่อทั้ง 2 Operand มีค่าเหมือนกัน
Eqv(Logical Equivalence) จะมีค่าเป็น T เมื่อทั้ง 2 Operand มีค่าเหมือนกัน
Imp(Implication) เมื่อ Operand 1 มีค่าเป็น T และ Operand 2 มีค่าเป็น F จะมีค่าเป็น F