การใช้งาน VBScript
โครงสร้างของ VBScript
เราอาจจะสงสัยว่า VBScript
กับ VB (Visual Basic) แตกต่างกันอย่างไร ที่จริงแล้ว VBScript ก็คือ VB
นั้นเองเพียงแต่เป็นบางส่วน หรือซับเซตที่อยู่ภายใน VB เท่านั้น ดังนั้นโครงสร้างการเขียนจึงไม่แตกต่างจาก
VB เท่าไหร่นัก ทำให้ผู้มีพื้นฐานการเขียนโปรแกรมด้วย VB มาก่อนสามารถทำความเข้าใจกับ
VBScript ได้ไม่ยาก
ชนิดของตัวแปร
ใน VBScript จะสนับสนุนตัวแปรเพียงชนิดเดียวคือ
Variant ซึ่งเป็นตัวแปรที่สามารถแสดงได้ทั้งข้อมูลตัวเลขและตัวอักษร โดยข้อมูลต่างๆ
ที่สามารถเก็บในตัวแปร Variant มีดังนี้
ชนิดของข้อมูล
|
ความหมาย
|
Empty
|
ข้อมูลชนิดว่างคือเป็นค่า 0
สำหรับข้อมูลตัวเลขและค่า zero-length string (??) สำหรับ string
|
Null
|
เป็นข้อมูลที่ถือว่าไม่มีค่าใดๆ
|
Boolean
|
เป็นข้อมูลทางตรรกะ คือ True
หรือ False
|
Byte
|
ข้อมูลจำนวนเต็ม ( 8 bit)
|
Integer
|
ข้อมูลจำนวนเต็ม ( 16 bit)
|
Long
|
ข้อมูลจำนวนเต็ม (32 bit)
|
Double
|
ข้อมูลเลขทศนิยม
|
Date(time)
|
ใช้เก็บวันที่ตั้งแต่ 1 มกราคม
ค.ศ. 100 ถึง 31 ธันวาคม 9999
|
String
|
สตริงใช้เก็บตัวอักษรได้ถึงสองล้านตัวอักษร
|
Object
|
เป็นตัวแปร Object
|
Error
|
จะเป็นชนิดของข้อมูลที่ใช้ในการอ้างถึงคอนโทรลต่างๆ
|
การประกาศตัวแปร (Variable
Declaration)
การประกาศตัวแปร จะเป็นการบอกโปรแกรมว่าเราต้องการนำตัวแปรนี้มาใช้โดยการประกาศตัวแปร
เราจะใช้คำสั่งดังรูปแบบต่อไปนี้
Dim <ชื่อตัวแปร>
สำหรับการตั้งชื่อตัวแปร เราต้องตั้งชื่อตามกฎต่อไปนี้
-ชื่อตัวแปรต้องไม่ซ้ำกันในโปรแกรมเดียวกัน
-ชื่อตัวแปรต้องไม่ซ้ำกับคีย์เวิร์ด
(คำสงวน) ของ VBScript เช่น คำว่า Dim, Integer เป็นต้น
-ความยาวต้องไม่เกิน 255 ตัวอักษร
-จะต้องเริ่มต้นด้วยตัวอักษร A-Z หรือ
a-z
ตัวอย่างการประกาศตัวแปร
Dim Name, LastName
จากตัวอย่างเป็นการสร้างตัวแปร
2 ตัว ชื่อ Name และ LastName เป็นชนิด Variant
ชนิดของการประกาศตัวแปร
การประกาศตัวแปรใน VBScript
จะมีอยู่ 2 แบบคือ
1. การประกาศตัวแปรโดยไม่ใช้คำสั่ง Dim
เช่น
Name=?TELECOM INFO?
Num=1234567890
จากตัวอย่าง การประกาศตัวแปรจะไม่ใช้คำสั่ง
Dim แต่จะใช้การกำหนดค่าให้กับตัวแปรแทน ซึ่งถ้าตัวแปรที่ถูกกำหนดค่ายังไม่ถูกประกาศคำสั่งนี้ก็จะทำการประกาศและกำหนดค่าตัวแปรให้ด้วย
2. การประกาศตัวแปรโดยใช้คำสั่ง Dim เหมือนกับตัวอย่างแรกที่กล่าวในตอนต้น
การใช้โอเปอเรเตอร์
โอเปอเรเตอร์นั้นเป็นการกระทำบางอย่างกับข้อมูลและได้ผลลัพธ์ออกมา
สำหรับ
โอเปอเรเตอร์ของ VB Script สามารถแบ่งออกเป็นประเภทใหญ่ๆได้ดังต่อไปนี้
โอเปอเรเตอร์ในการคำนวณทางคณิตศาสตร์
โอเปอเรเตอร์ที่เกี่ยวข้องกับการคำนวณทางคณิตศาสตร์
เช่น การบวก การลบ การคูณ เป็นต้น มีดังตารางต่อไปนี้
การกระทำ
|
สัญลักษณ์
|
ตัวอย่าง
|
ผลลัพธ์
|
การบวก
|
+
|
2+4
|
6
|
การลบ
|
-
|
4-2
|
2
|
การคูณ
|
*
|
4*2
|
8
|
การหาร
|
/
|
5/2
|
2.5
|
การหารแบบจำนวนเต็ม
|
\
|
5 \ 3
|
1
|
การหารเศษ
|
Mod
|
10 Mod 3
|
1
|
การยกกำลัง
|
^
|
2^4
|
16
|
โอเปอเรเตอร์ทางตรรกะ
โอเปอเรเตอร์ทางตรรกะจะให้ผลลัพธ์เป็นค่า
True และ False ซึ่งจะกล่าวถึงรายละเอียด และตารางแสดงผลทางตรรกะในกรณีต่างๆดังต่อไปนี้
-โอเปอเรเตอร์ And ถ้าทุกนิพจน์ที่มา
And กันมีค่าเป็น True ทุกนิพจน์ผลลัพธ์ที่ได้จะมีค่าเป็น True
A
|
B
|
A
and B
|
True
|
True
|
True
|
True
|
False
|
False
|
False
|
True
|
False
|
False
|
False
|
False
|
-โอเปอเรเตอร์ or ถ้าทุกนิพจน์ที่มา
or กันมีค่าเป็น True เพียงนิพจน์เดียว
A
|
B
|
A
or B
|
True
|
True
|
True
|
True
|
False
|
True
|
False
|
True
|
True
|
False
|
False
|
False
|
-โอเปอเรเตอร์ Not จะเป็นการเปลี่ยนค่านิพจน์ดังกล่าวเป็นค่าตรงกันข้าม
โอเปอเรเตอร์นี้จะมีผลลัพธ์ดังตารางต่อไปนี้
A
|
Not
A
|
True
|
False
|
False
|
True
|
โอเปอเรเตอร์ในการทำงานเกี่ยวกับข้อมูลชนิด
String
โอเปอเรเตอร์กลุ่มนี้จะเป็นโอเปอเรเตอร์ที่ใช้เชื่อม
String กับ String เข้าด้วยกัน หรือ String
เข้ากับข้อมูลตัวเลข ซึ่งมีดังต่อไปนี้
+ ใช้เชื่อม String กับ String
& ใช้เชื่อม Sting กับข้อมูลแบบ
Numeric หรือ String ก็ได้
โอเปอเรเตอร์ในการเปรียบเทียบ
โอเปอเรเตอร์ประเภทนี้จะใช้สำหรับเปรียบเทียบระหว่างค่า
2 ค่า โดยมีผลลัพธ์เป็น True หรือ False อย่างใดอย่างหนึ่งเท่านั้น โดยมีรายละเอียดดังตาราง
สัญลักษณ์ของโอเปอเรเตอร์
|
ความหมาย
|
รูปแบบการใช้งาน
|
=
|
เท่ากับ
|
A=B
|
<>
|
ไม่เท่ากับ
|
A<>B
|
<
|
น้อยกว่า
|
A<B
|
>
|
มากกว่า
|
A>B
|
<=
|
น้อยกว่าหรือเท่ากับ
|
A<=B
|
>=
|
มากกว่าหรือเท่ากับ
|
A>=B
|
คำสั่งที่ใช้ในการควบคุมการทำงาน
จากการที่เราได้สร้างโปรแกรมกันมาบ้างแล้ว
จะเห็นว่าโปรแกรมทำงานจากบนลงล่างและจากซ้ายไปขวาตามลำดับ แต่ในบางครั้ง
เราต้องการให้โปรแกรมสามารถเลือกทำงานตามเงื่อนไขของตัวแปรได้ด้วยซึ่งใน
VBScript ได้เตรียมคำสั่งที่ใช้ตรวจสอบการทำงานตามเงื่อนไขที่ต้องการไว้แล้ว
คำสั่งในการควบคุมสามารถแบ่งได้ 2
ประเภทหลักดังนี้
- คำสั่งที่ใช้ในการตัดสินใจ (Decision
Structures)
- คำสั่งในการทำซ้ำ (Loop Structures)
คำสั่งที่ใช้ในการตัดสินใจ
ในกรณีที่เราจำเป็นต้องตัดสินใจเลือกสิ่งใดสิ่งหนึ่ง
เราจะใช้คำสั่งเงื่อนไข (Condition) ในการตัดสินใจ โดยคำสั่งประเภทนี้จะแบ่งออกได้เป็น
2 คำสั่ง คือ คำสั่ง If-then-Else และ คำสั่ง Select-Case
- คำสั่ง
If-Then-Else
เป็นคำสั่งที่มีรูปแบบดังนี้
If<นิพจน์ที่เป็น
Boolean> then
?คำสั่งสำหรับนิพจน์ที่มีค่าเป็น
True
else
?คำสั่งสำหรับนิพจน์ที่มีค่าเป็น
False
end If
ตัวอย่าง
if
price>20 then
response.write(?Too
expensive?)
else
response.write(?Price
is OK?)
end If
|
-คำสั่ง Select-Case
เป็นคำสั่งใช้ในการเลือกเส้นทางการทำงานของโปรแกรมจากค่าของนิพจน์ที่กำหนดเป็นคำสั่งที่มีรูปแบบต่อไปนี้
Select Case
<นิพจน์>
Case<ค่าของนิพจน์กลุ่มแรก>
?คำสั่งที่ทำงานเมื่อค่านิพจน์ตรงกับค่าในกลุ่มแรก
Case<ค่าของนิพจน์กลุ่มที่
2>
?คำสั่งที่ทำงานเมื่อค่านิพจน์ตรงกับค่าในกลุ่ม
2
Case
Else
?คำสั่งเมื่อไม่ตรงกับกรณีไหนเลย
End Select
ตัวอย่าง
Name=-1
Select Case
Number
Case
1,2,3
Response.Write(?Between
1 And 3?)
Case
4,5,6,7,8
Response.Write(?Between
4 And 8?)
Case
Number>8
Response.Write(?Greather
than 8?)
Case Else
Response.Write(?Not
positive number?)
End Select
|
คำสั่งที่ใช้ในการทำงานซ้ำ
เราสามารถใช้คำสั่งที่จะกล่าวถึงในหัวข้อนี้
ในการทำงานซ้ำเป็นจำนวนครั้งที่แน่นอน หรือจนกว่าจะทำให้เงื่อนไขเป็นดังที่เราต้องการได้
คำสั่งที่จะกล่าวถึงมี 2 คำสั่ง คือ
- คำสั่ง For-Next
- คำสั่ง Do-Loop
คำสั่ง For-Next
คำสั่งนี้จะใช้ในการทำงานซ้ำเป็นจำนวนครั้งที่แน่นอน
โดยมีรูปแบบดังนี้
For<ชื่อตัวแปร>=<ค่าเริ่มต้น>To<ค่าสุดท้าย>
[step]<ค่าที่เพิ่มขึ้นของตัวแปร>1
?ชุดคำสั่ง
Next
ตัวอย่าง
Dim
I
For
I=0 to 10 step
2
Response.Write(I)
Next
|
คำสั่ง Do-Loop
เป็นคำสั่งที่ใช้ในการทำซ้ำ โดยจำนวนครั้งในการซ้ำขึ้นอยู่กับเงื่อนไขหลังคำว่า
while หรือ until รูปแบบของคำสั่งจะเป็นดังนี้
Do While<condition>
?ชุดคำสั่ง
Loop
|
Do
?ชุดคำสั่ง
Loop While<condition>
|
Do Until<condition>
?ชุดคำสั่ง
Loop
|
ตัวอย่าง
|
Dim
I
Do While
I<10
Response.write(I)
I=I+1
Loop
|
Dim
I
Do
Response.write(I)
I=I+1
Loop While
I<10
|
การเรียกใช้ Sub และ Function
ความสามารถในการโปรแกรมอย่างหนึ่งคือ
ความสามารถในกรเรียกใช้โปรแกรมย่อยซึ่งจะอำนวยความสะดวกในแง่ที่เราไม่ได้เขียนคำสั่งซ้ำอีก
เมื่อต้องการทำงานอย่างเดียวกัน โดยเราเพียงแต่สร้างชุดโปรแกรมย่อยขึ้นมาแล้วเรียกใช้เมื่อเราต้องการ
โปรแกรมย่อยสำหรับ VB Script แบ่งได้เป็น
2 ประเภท
- sub (หรือ Sub Routine)
- Function
Sub (หรือ Sub Routine)
เป็นโปรแกรมย่อยที่เมื่อทำงานจบจะไม่มีทางส่งค่าคืนกลับให้ผู้เรียกใช้ทราบ
ซึ่งเราสามารถ
เรียกใช้โดยการระบุชื่อ Sub Routine
นั้น หรือใช้คำสั่ง Call แล้วตามด้วยชื่อ Sub Routine
Sub
<ชื่อของ Sub Routine> (พารามิเตอร์ของ Subroutine,?)
?VBScript Statement
End Sub
|
Function
เป็นโปรแกรมย่อยที่เมื่อทำงานจบจะส่งค่าคืนกลับมาให้กับผู้ที่เรียกใช้ทราบ
เพราะฉะนั้นในการเรียกใช้ Function เราจึงมักจะใช้กำหนดตัวแปรขึ้นมาเพื่อเก็บผลการทำงานของ
Function เอาไว้เพื่อส่งมายังผู้ที่เรียกใช้ Function
Function
<ชื่อของ Function> (พารามิเตอร์ของ Function)
?VBScript Statement
<ชื่อฟังก์ชั่น>=<คำที่คืนกลับหลังจากเรียก
Function>
End Function
|
|