ข้อมูล และตัวแปร
1. ข้อมูล Data
โปรแกรมคอมพิวเตอร์ส่วนมากเกี่ยวข้องกับข้อมูลแบบต่างๆ
ข้อมูลที่ใช้ใน Visual Basic มีอยู่หลายแบบ
ในเบื้องต้นแบ่งได้เป็น
1. ข้อมูลแบบตัวเลข ( Numeric )
2. ข้อมูลแบบตัวอักษร ( Character )
3. ข้อมูลแบบบูลีน ( Boolean )
4. ข้อมูลแบบวันที่ ( Date )
5. ข้อมูลแบบวัตถุ ( Object )
1. ข้อมูลแบบตัวเลข ( Numeric
) หมายถึง
ข้อมูลที่มีค่าเป็นตัวเลขจำแนกได้เป็นแบบเลขจำนวนเต็ม (Integral Numeric
Types )
1.1
ข้อมูลแบบเลขจำนวนเต็ม แบ่งได้เป็น
1) เลขจำนวนเต็มขนาดเล็ก ได้แก่
แบบ SBypte
แบบ Short
2) เลขจำนวนเต็มขนาดใหญ่ ได้แก่
แบบ Integer
แบบ Long
แบบ Decimal (เมื่อไม่ใช้จุดทศนิยม)
3) เลขจำนวนเต็มที่ไม่มีค่าเป็นลบ ( Unsigned
Integers )
แบบ Byte
แบบ UShort
แบบ UInteger
แบบ ULong
1.2 ข้อมูลแบบเลขจำนวนจริง หมายถึง ข้อมูลที่เป็นไปได้ทั้งจำนวนเต็ม และแบบเลขมีจุดทศนิยม
แบ่งได้เป็น
1) แบบ Single หมายถึง ตัวเลขแบบ Single-precision
floating-point มีทศนิยมได้ถึง 7 ตำแหน่ง
2) แบบ Double หมายถึง ตัวเลขแบบ Double-precision floating-point มี
ทศนิยมได้ถึง 17 ตำแหน่ง
3) แบบ Decimal เป็นข้อมูลที่ละเอียดกว่าแบบ
Single และ Double มีทศนิยมได้ถึง 28
ตำแหน่ง
2. ข้อมูลแบบตัวอักษร ( Character ) หมายถึง ข้อมูลที่มีค่าเป็นตัวอักษร แบ่งได้เป็น
1) แบบ Char หมายถึง ตัวอักษรตัวหนึ่ง ในเครื่องหมายอัญประกาศ เช่น “A” หรือเป็นตัวว่างไม่มีค่า (Null) เช่น “ ”
2) แบบ String หมายถึง
ตัวอักษรหนึ่งตัว หรือหลายตัวต่อเนื่องกันเป็นข้อความ ในเครื่องหมายอัญประกาศ เช่น
“Thailand” หรือเป็นตัวว่างไม่มีค่า (Null String)
3. ข้อมูลแบบบูลีน (Boolean) หมายถึง ข้อมูลที่มีค่าเป็นจริง (True) หรือเท็จ (False)
4. ข้อมูลแบบวันที่ (Date) หมายถึง ข้อมูลที่เป็นเดือน วันที่ ปี ค.ศ. และเวลา
5. ข้อมูลแบบวัตถุ (Object) หมายถึง ข้อมูลที่เกี่ยวกับวัตถุต่างๆที่ใช้ใน โปรแกรม
สามารถเก็บค่าข้างต้นได้ทุกแบบ
ตาราง 4-1ค่าที่ใช้ได้ของข้อมูลแบบต่างๆ
แบบข้อมูล
|
อักขระแทน
|
ช่วงค่าข้อมูล
|
SByte
|
ไม่มี
|
-128 ถึง 127
|
Short
|
ไม่มี
|
-32,768 ถึง 32,767
|
Integer
|
%
|
-2,147,483,648 ถึง 2,147,483,647
|
Long
|
&
|
-9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807
(9.2…E+18)*
|
Byte
|
ไม่มี
|
0 ถึง 255
|
UShort
|
ไม่มี
|
0 ถึง 65,535
|
ULong
|
ไม่มี
|
0 ถึง 18,446,744,073,709,551,615 (1.8...E+19)*
|
Single
|
!
|
-3.4028235E+38 ถึง -1.401298E-45* สำหรับค่าที่เป็นลบ 1.401298E-45 ถึง 3.4028235E+38 สำหรับค่าที่เป็นบวก
|
Double
|
#
|
-1.79769313486231570E+308 ถึง -4.94065645841246544E-324*
(ค่าลบ) 4.94065645841246544E-324 ถึง 1.79769313486231570E+308 (ค่าบวก)
|
Decimal
|
@
|
0 ถึง +/- 79,228,162,514,264,337,593,543,950,335
(+/- 7.9...E+28)* เมื่อไม่มีจุดทศนิยม 0 ถึง +/-
7.9228162514264337593543950335E+28*
เมื่อมีจุดทศนิยม 28 ตำแหน่ง ค่าต่ำสุดที่ไม่เป็นศูนย์ คือ
0.0000000000000000000000000001 (+/-1E-28)*
|
char
|
ไม่มี
|
0 ถึง 1 ตัวอักษร
|
String
|
$
|
0 ตัวอักษร ถึง ประมาณ 2 พันล้านตัวอักษร
|
Boolean
|
ไม่มี
|
True หรือ False
|
Date
|
ไม่มี
|
0:00:00 (เที่ยงคืน) ของ January 1, 0001 ถึง 11:59:59 PM ของ December 31, 9999
|
Object
|
ไม่มี
|
เก็บได้ทุกแบบ
|
* เลขแบบวิทยาศาสตร์ (Scientific
Notation) “E” หมายถึง คูณด้วย 10 ยกกำลัง
4.2 ตัวแปร ( Variable )
ตัวแปร (
Variable ) หมายถึงที่เก็บข้อมูลในหน่อยความจำขณะที่โปรแกรมทำงานประกอบด้วยชื่อตัวแปรและตำแหน่งที่เก็บ
แต่ในการเรียกใช้งานส่วนใหญ่จะใช้ชื่อตัวแปรเป็นหลัก
ตัวแปรใช้เก็บข้อมูลที่มีการเรียกใช้หลายครั้ง
เช่น ในการคำนวณหลายอย่างการเปรียบเทียบข้อมูลหลายครั้ง
การใช้ตัวแปรมี 3 ขั้นตอน
คือ
1. ประกาศตัวแปร (Declare the variable)
2. กำหนดค่าให้ตัวแปร (Assign the variable)
3. ใช้ตัวแปร (Use the variable)
1.
การประกาศตัวแปร (Declare the variable)
1.1
การประกาศตัวแปรทีละตัว
ก่อนที่จะใช้ตัวแปรชื่อใด
จะต้องประกาศให้ตัวแปรชื่อนั้นเป็นแบบสัมพันธ์กับแบบของข้อมูลที่จะใช้ โดยประกาศในตอนต้นของโปรแกรม บริเวณส่วนประกาศ (Declaration) ด้วยประโยคคำสั่ง Dimension ตามรูปแบบดังนี้
ตัวอย่าง
ถ้าต้องการใช้ตัวแปรชื่อ TempValue สำหรับเก็บข้อมูลตัวเลขจำนวนเต็มแบบ Integer เขียนคำสั่งได้ดังนี้
Dim TempValue As Integer
แต่ถ้าใช้อักขระแทนแบบของข้อมูลต่อท้ายชื่อตัวแปร
ก็จะประกาศได้ดังนี้
Dim TempValue%
หมายถึงให้ตัวแปรชื่อ TempValue% เป็นตัวแปรสำหรับเก็บค่าตัวแปรเลขแบบ
Integer

แบบของตัวแปรที่ใช้ขึ้นอยู่กับแบบข้อมูลและค่าข้อมูล พิจารณาได้จากตาราง
4-1 ค่าที่ใช้ได้ของข้อมูลต่างๆ โดยดูที่ช่วงค่าข้อมูลประกอบ เช่น
ถ้าข้อมูลที่ใช้เป็นแบบตัวเลขจำนวนเต็มที่มีค่าไม่เกิน 255 ให้เลือกแบข้อมูลเป็น Byte ดังนั้น ตัวแปรก็ต้องเป็นแบบ Byte
1.2 การตั้งชื่อตัวแปร
การตั้งชื่อตัวแปร
ต้องปฏิบัติตามกฎการตั้งชื่อต่างๆ (identifier) ของ Visual
Basic ดังต่อไปนี้
• ต้องเริ่มด้วยตัวอักษร หรือเส้นใต้ ( _ )
• ต้องมีเฉพาะตัวอักษร ตัวเลข หรือเส้นใต้เท่านั้น
• ต้องไม่มีตัวอักขระหรือเครื่องหมายอื่น
• ถ้าเริ่มด้วยเส้นใต้
ต้องตามด้วยตัวอักษรหรือตัวเลขอย่างน้อย 1 ตัว เช่น _8
• ควรใช้ชื่อที่มีสื่อข้อความว่าใช้เก็บค่าของอะไรเช่น
แทนที่จำใช้ S เพื่อเก็บค่าคะแนนของนักเรียน ควรใช้ Student_Score
• ยาวไม่เกิน 1023 ตัวอักษร
(แต่ในทางปฏิบัติควรใช้สั้นที่สุดและสื่อความหมายได้)
• ห้ามเว้นวรรค
• ใช้ตัวขีดเส้นใต้แทนช่องว่าง เช่น Name_1
• ห้ามใช้ชื่อซ้ำกับคำสงวนหลัก (Reserved
Keywards) ของ Visual Basic เช่น
- คำที่เป็นแบบของข้อมูล เช่น Single
- คำสั่ง เช่น Dim

ตัวอย่างชื่อตัวแปรที่ใช้ได้
A1 B5_a New_Price
Income
ตัวอย่างชื่อตัวแปรที่ใช้ไม่ได้
1A เริ่มด้วยตัวเลขไม่ได้
B 52 เว้นวรรคไม่ได้
Long ใช้คำสงวนไม่ได้
In$come ใช้อักขระไม่ได้
ตัวอย่าง วิธีประกาศตัวโปรแกรมในโปรแกรม
1)
สร้างโครงงานใหม่ ใช้ชื่อว่า Variable
2) วางปุ่ม Button1 บนฟอร์ม
3) ดับเบิลคลิกที่ปุ่ม Button1 เพื่อเข้าสู่หน้าต่างโปรแกรม
4) พิมพ์ประโยคคำสั่งเพื่อประกาศตัวแปรในส่วนต้นของโปรแกรมดังภาพ 4-2
ภาพ 4-2 การประกาศตัวแปร
5)
เมื่อพิมพ์ชื่อตัวแปร Student_No แล้ววรรค จะปรากฏคำ As ให้เลือกดังภาพ
4-3
ภาพ 4-3 As
6)
ดับเบิลคลิกที่ As แล้ววรรค
จะปรากฏรายการให้เลือก ดังภาพ 4-4
ภาพ 4-4 รายการให้เลือก
7) พิมพ์ by จะปรากฏแบบข้อมูลให้เลือก ดังภาพ 4-5
ภาพ 4-5 เลือกแบบข้อมูล
8) ดับเบิลคลิกที่
Byte เพื่อเลือกแบบ Byte หรือพิมพ์
te ต่อไปได้เลย
9) สำหรับบรรทัดอื่นก็ทำได้ลักษณะเดียวกัน แต่แบบข้อมูลต่างกัน
10) เสร็จแล้วตรวจสอบความถูกต้องและบันทึกโครงงาน
11) ให้โปรแกรมทำงาน
12) คลิกที่ปุ่ม Button1 จะไม่มีอะไรปรากฏ
เพราะไม่ได้พิมพ์คำสั่งเอาไว้
13) ให้โปรแกรมหยุดทำงาน
1.3 การประกาศตัวแปรหลายตัวที่ใช้ข้อมูลแบบเดียวกัน
ถ้าต้องการประกาศตัวแปรหลายตัวให้เป็นแบบข้อมูลเดียวกันแทนที่จะประกาศแยกทีละตัวแต่ละบรรทัด
สามารถใช้การประกาศตามรูปแบบดังนี้
เช่น Dim HW_1, HW_2, Sun_HW
As Integer
มีความหมายเช่นเดียวกันกับ Dim
HW_1 As Inyeger
Dim HW_2 As Integer
Dim Sun_HW As Integer
2. การกำหนดค่าให้ตัวแปร
(Assign the variable)
ปกติแล้วตัวแปรทุกตัวของ Visual Basic จะมีค่าเริ่มต้นเป็น 0 (ศูนย์) สำหรับตัวแปรที่ใช้กับตัวเลข
ส่วนตัวแปรแบบตัวอักษร (Char String)
จะมีค่าเริ่มต้นเป็น Null คือว่าง หรือไม่มีอะไร (“ ”) และตัวแปรแบบบูลีน (Boolean) จะมีค่าเริ่มต้นเป็น False
2.1 การกำหนดค่าเริ่มต้นให้ตัวแปร
ทำได้โดยใช้ประโยคคำสั่งกำหนดค่า (Assignment Statement)
ซึ่งมีรูปแบบ ดังนี้
ชื่อตัวแปรจะต้องตรงกับชื่อที่ประกาศไว้
แลพค่าข้อมูลที่กำหนดจะต้องอยู่ในช่วงค่าข้อมูลแบบข้อมูลที่ประกาศไว้
ตัวอย่าง Student_No = 12 ‘Byte
Student_Score = -10 ‘SByte
Student_Name = “Peterpan” ‘String
โปรดสังเกตว่า
ค่าข้อมูลแบบ String จะอยู่ในเครื่องหมาย อัญประกาศ
การเขียนหมายเหตุของโปรแกรมอาจเขียนที่บรรทัดไหนก็ได้
หรือเขียนเพื่ออธิบายโปรแกรมเป็นส่วนๆ ไป โดย บรรทัดที่ไม่มีเครื่องหมาย ' อยู่ข้างหน้าหมายถึงบรรทัดหมาย
ซึ่งโปรแกรมจะไม่ทำงานในบรรทัดนั้น ถึงแม้จะเขียนเป็นคำสั่งก็ตาม เช่น
'
TempValue% = 50000
ก็ไม่ได้หมายความว่ากำหนดค่า
-50000 ให้กับตัวแปร TempValue%
2.2
การกำหนดค่าเริ่มต้นให้ตัวแปร
ในบางกรณีอาจจำเป็นต้องกำหนดค่าเริ่มต้นของตัวแปรเอาไว้ก่อน
โดยกำหนดค่าเริ่มต้นตอนประกาศตัวแปร โดยใช้รูปแบบดังนี้
ตัวอย่าง
ถ้าต้องการให้ตัวแปรชื่อ Depo เก็บค่าข้อมูลแบเลขจำนวนเต็มแบบ UShort ไม่เกิน 65,535
โดยมีค่าเริ่มต้นเป็น 1เขียน เป็นประโยคคำสั่งประกาศด้วยตัวแปรได้ดังนี้
Dim
Depo As UShort = 1
การกำหนดค่าเริ่มต้นให้ตัวแปร
เป็นการป้องกันความผิดพลาดซึ่งอาจเกิดขึ้นเมื่อใช้ตัวแปร เช่น
กำหนดค่าให้ตัวแปรแต่ไม่ได้ประกาศตัวแปรก่อน
หรือประกาศตัวแปรแต่ไม่ได้กำหนดค่า
ตัวแปรที่ประกาศและกำหนดค่าเริ่มต้นไว้สามารถกำหนดค่าใหม่ได้อีกภายหลังเมื่อต้องการ
3.การใช้ตัวแปร
(Use the variable)
ตัวแปรที่ได้ประกาศและกำหนดค่าไว้แล้ว จึงจะสามารถนำมาใช้ได้ เช่น ใช้ในการคำนวน เปรียบเทียบ หรือแสดงค่า
การแสดงค่าของตัวแปร
สามารถแสดงได้โดยใช้ตัวควบคุมต่างๆ เช่น ป้ายแสดงข้อความ กล่องข้อความ
กล่องข่าวสาร และเครื่องพิมพ์
3.1
การใช้กล่องข่าวสาร (MessageBox) แสดงค่าของตัวแปรทีละตัว
ใช้ประโยคคำสั่งดังนี้
ซึ่งมีความหมายดังนี้
ชื่อตัวแปร หมายถึง
แสดงค่าของตัวแปร
0 หมายถึง ให้กล่องข่าวสารแสดงปุ่ม OK
“ข้อความ”
หมายถึง ข้อความที่จะปรากฏบนแถบชื่อของกล่องข่าวสาร
ถ้าต้องการแสดงค่าของตัวแปรชื่อ Student_No และแสดงชื่อของตัวแปรด้วยเขียนประโยคคำสั่งได้ดังนี้

จากโครงงาน Variable1 เมื่อเพิ่มประโยคคำสั่งแสดงค่าของตัวแปรเข้าไปทั้งสามตัวตามลำดับ จะได้ดังนี้
MsgBox(Student_No, 0,
“Student_No”)
MsgBox(Student_Score, 0, “Student_Scoer”)
MsgBox(Student_Name, 0, “Student_Name”)
เมื่อพิมพ์เข้าไปในหน้าต่างโปรแกรม จะได้ดังภาพ 4-8
ภาพ 4-8 การแสดงค่าตัวแปร
เมื่อให้โปรแกรมทำงาน
จะได้ผลดังภาพ 4-9
ภาพ 4-9
เมื่อกดปุ่ม OK จะได้ผลดังภาพ 4-10
ภาพ 4-10
เมื่อกดปุ่ม OK จะได้ผลดังภาพ 4-11

ภาพ 4-11
3.2
การใช้กล่องข่าวสารแสดงค่าของตัวแปรหลายตัว
ค่าของตัวแปรหลายตัว
อาจนำมาผนวกกันเพื่อแสดงผลโดยใช้กล่องข่าวสารเพียงกล่องเดียวก็ได้ เช่น จากโครงงาน
Variable5 อาจเขียนประโยคคำสั่งใหม่เพื่อให้แสดงผลได้ดังภาพ
4-15
ภาพ 4-15
วิธีการทำ
ก)
ตรงแถบชื่อของกล่องข่าวสาร
1) ใช้ข้อความ “ลำดับที่” รวมกับค่าของตัวแปรชื่อ
Student_No
2)
การรวมข้อความ ใช้ตัวอักขระ &
ดังนั้นเขียนข้อความใหม่ได้เป็น “ลำดับที่” &
Student_No
ข)
ข้อความที่ปรากฏในกล่องข่าวสาร
1)ใช้ค่าของตัวแปรชื่อ Student_Name รวมกับข้อความ “ ได้คะแนน ” รวมกับ ค่าของตัวแปรชื่อ Student_Score
2) เขียนข้อความใหม่ได้เป็น
Student_Name &
“ได้คะแนน” &
Student_Score
ดังนั้น ประโยคคำสั่งของกล่องข่าวสารจึงเขียนใหม่ได้ดังนี้