3.4
การตั้งตัวแปร
และการกำหนดชนิดของข้อมูล
โดยทั่วไป
การใช้ตัวแปรในภาษา Basic
จะไม่จำเป็นต้องทำการตั้งตัวแปรขึ้นก่อน
(Declare
Variable)
ตัวแปรต่างๆ
ที่เราตั้งขึ้นใช้งานภายในส่วนใดๆ
ของต้นฉบับโปรแกรมภาษา Basic
จะถือว่าถูกต้องทั้งหมด
(ถ้าไม่ผิดหลักเกณฑ์ดังที่กล่าวมาในหัวข้อก่อนหน้านี้)
ตัวอย่างที่
3-5
: ตัวอย่างการใช้ตัวแปรในภาษา
Basic
รุ่นเก่า
....
c = 12
a = c + 1
....
|
3.4.1
การใช้คำสั่ง
Option
Explicit
แต่อย่างไรก็ดี
วิธีการดังกล่าว
อาจจะก่อให้เกิดความสับสนเกี่ยวกับการใช้ตัวแปร
โดยเฉพาะกรณีที่เป็นการพัฒนาซอฟต์แวร์ขนาดใหญ่
หรือกรณีที่มีนักพัฒนาโปรแกรมร่วมพัฒนามากกว่าหนึ่งคน
นักพัฒนาโปรแกรมภาษา Basic
รุ่นใหม่จะไม่ใช้ตัวแปรในลักษณะที่กล่าวมาในข้างต้น
แต่จะทำการตั้งตัวแปร
พร้อมกับกำหนดชนิดของตัวแปรทุกครั้ง
(ถ้าเป็นไปได้)
ก่อนที่นำตัวแปรนั้นๆ
ไปใช้งาน ดังตัวอย่าง 3-6
ตัวอย่างที่
3-6
: ตัวอย่างการใช้ตัวแปรของภาษา
Basic
รุ่นใหม่
....
Dim c As
Integer
Dim a As
Integer
c = 12
a = c + 1
....
|
และเพื่อเป็นการป้องกันกรณีของการลืมตั้งตัวแปร
ในภาษา Basic
รุ่นใหม่
จะมีคำสั่ง Option
Explicit ให้
ซึ่งเป็นคำสั่งบังคับให้ต้องกำหนดตัวแปรด้วยคำสั่ง
DIM
ก่อนใช้งานทุกครั้ง
โดยชุดคำสั่งดังกล่าว
จะต้องวางไว้ที่ตอนต้นของแฟ้มต้นฉบับโปรแกรม
ก่อนซับรูทีน หรือฟังก์ชันใดๆ
ของมอดูล ดังตัวอย่าง 3-7
และควรจะใส่ไว้ในทุกๆ
มอดูล
ตัวอย่างที่
3-7
: การใช้คำสั่ง
Option
Explicit
Option
Explicit
SUB
subMysubroutine
Dim c As
Integer
Dim a As
Integer
c = 12
a = c + 1
........
|
3.4.2
การตั้งตัวแปรเก็บข้อความแบบ
String
และการใช้งาน
การกำหนดตัวแปรที่ต้องการให้มีชนิด
(data
type) เป็น
String
ซึ่งใช้สำหรับเก็บข้อความที่มีความยาวไม่เกิน
65,535
ตัวอักษร
จะสามารถเลือกดำเนินการได้
2
แบบ
คือ
- -แบบแรก จะใช้คำสั่ง As String กำกับไว้ตอนท้ายของการกำหนดตัวแปร
- -แบบที่สอง จะใช้เครื่องหมาย “$” ต่อท้ายชื่อตัวแปรตอนกำหนดตัวแปร
สำหรับการกำหนดค่าให้ตัวแปรแบบ
String
จะทำได้โดย
การใส่ข้อความที่จะจัดเก็บ
ไว้ในกรอบของเครื่องหมาย
"
" (quotation mark)
การเชื่อมต่อข้อความหลายๆ
ชุดเข้าด้วยกัน
สามารถทำได้โดยการใช้เครื่อง
+
หรือ
&
ในการเชื่อมต่อข้อความ
ดังตัวอย่าง 3-8
ตัวอย่างที่
3-8
: ตัวอย่างการตั้งตัวแปร
String
และการใช้งาน
SUB
subTestStringVariable
Dim sMyName
As String
Dim
sMyString$
sMyName =
"นายดินหนัก
รักษาถิ่น"
sMyString =
"ในกรณีที่มีข้อความมากกว่า
1
ชุด"
& _
"สามารถใช้เครื่องหมาย
+
หรือ
&
" + Chr(13) & _
"ในการเชื่อมต่อข้อความได้
"
& _
"ทั้งหมดเป็นข้อความที่เก็บในตัวแปร
"
+ Chr(13) & _
"sMyName
และ
sMyString
" & _
"และแสดงผลด้วยคำสั่ง
"
+ Chr(13) + Chr(13) & _
"MsgBox
sMyName + Chr(13) + Chr(13) + sMyString"
MsgBox
sMyName + Chr(13) + Chr(13) + sMyString
END
SUB
|
![]() |
รูปที่
3-1
ผลการทำงานของซับรูทีน
subTestStringVariable
|
หมายเหตุ
|
ในกรณีที่ภายในเนื้อหาข้อความที่จะจัดเก็บในตัวแปรแบบ
String
จะต้องมีเครื่องหมาย
"
(quotation mark) ปรากฎอยู่ภายในข้อความ
ให้ใส่เครื่องหมายดังกล่าวเพิ่มกำกับเพิ่มอีกหนึ่งชุด
เช่น "ข้อความที่เครื่องหมาย
""
อยู่ในเนื้อหาของข้อความ"
|
เวลา
|
เหตุการณ์
|
||
05:00 น. | ตื่นนอน ทำบันทึกประจำวันของวันก่อน | ||
05:30 น. |
ทำอีเอ็มขยายลูกถังที่
2
และเริ่มใช้อีเอ็มขยายถังที่
3
และทำอีเอ็มขยายพ่อชุดใหม่
|
||
06:30 น. |
|
||
07:15 น. |
งานของกิจกรรมอาชีพ
กสิกรรมธรรมชาติ แปลงสวนปาล์ม
(8/2557):พ่นอาหารเสริมพืช
YIC nano, น้ำหมักปลา,
น้ำหมักชีวภาพจากเศษอาหารในแปลงสวนปาล์ม
|
||
08:45 น. | อาบน้ำ ทำบัญชีครัวเรือน | ||
09:15 น. |
งานของกิจกรรมอาชีพ
งานการตลาดและการลงทุน
(20/2557):ไปนำเสนอสินค้านายก
อบต.
|
||
10:00 น. |
ไปเรียนซ่อมเครื่องยนต์เล็กที่วัดทับกระดาษ
(ตอนเที่ยงกลับมาเอาเครื่องตัดหญ้าไปซ่อม)
|
||
1ุ6:30 น. | เดืนทางกลับบ้าน, แวะบ้านพี่แดง, แวะซื้อน้ำมันร้านพี่มะลิ, กลับถึงบ้าน | ||
17:00 น. |
งานของกิจกรรมอาชีพ
งานการตลาดและการลงทุน
(20/2557):ไปเสนอสินค้าบ้านน้าลี,
แวะร้านน้าเฉลิม,
กลับถึงบ้าน
|
||
19:00 น. |
|
||
20:45 น. | ทำบัญชีครัวเรือน, ทำบันทึกประจำวัน | ||
21:15 น. |
งานของกิจกรรมอาชีพ
งานอินเตอร์เน็ต
(18/2557):ทำต้นฉบับบทความเรื่องใหม่
|
||
22:00 น. | เข้านอน |