ในการทำ
ASP ในบทความนี้จะใช้ VB Script ในการจัดการ โดยจะกำหนดไว้ว่า
<%@ Language =
"VBScript"%> ถ้าไม่กำหนดจะเป็นค่า Default
ให้เองถ้าจะเปลี่ยนเป็น Script อื่นก็แค่เปลี่ยนชื่อ Script
เท่านั้น เช่น <%@ Language =
"JavaScript"%>
1. Variable & Constant
1.1 การประกาศตัวแปร
ใช้ได้กับทุกชนิดข้อมูล มีอยู่ 2 แบบ คือแบบที่ใช้ Dim กับไม่ใช้
Dim - ชื่อตัวแปรต้องไม่ซ้ำกันในโปรแกรมเดียวกัน -
ชื่อต้องไม่ซ้ำกับ Keyword ของ VB Script เช่น Dim -
ความยาวต้องไม่เกิน 255 ตัว - จะต้องเริ่มต้นด้วยตัว A-Z หรือ
a-z แบบที่ 1 Dim <ชื่อตัวแปร> // ตัวอย่างการใช้ Dim ==> Dim name,
surname แบบที่ 2 <ชื่อตัวแปร> =
<ค่าตัวแปร> // ตัวอย่างการไม่ใช้ Dim
==> name = "jad", surname =
024
1.2 การประกาศค่าคงที่ เป็นการประกาศค่าที่จะใช้ตลอด
Application Const <ชื่อค่าคงที่> =
<ค่าคงที่> //ตัวอย่าง
==> Const UTCC =
6923050
1.3 การเปลี่ยนชนิดของข้อมูล
Function |
Type Data |
Example |
Result |
CInt |
Integer |
CInt ("1000.1000 ") |
1000 |
CLng |
Long |
CLng ("1000.1000 ") |
1000 |
CSng |
Single |
CSng ("1000.1000 ") |
1000.10 |
CDbl |
Double |
CDbl ("1000.1000 ") |
1000.1000 |
CBool |
Boolean |
CBool ("1000=1000 ") |
True |
CByte |
Byte |
CByte ("1000.1000 ") |
1000 |
CDate |
Date |
CDate ("24 December 70 ") |
12/24/70 |
Cstr |
String |
Cstr ("1000.1000 ") |
"1000.1000
" | ตัวอย่าง ๊UTCC =
"6923050.1121" UTCC = Cint(UTCC) Output
6923050
Top
2. Array
2.1 การประกาศค่าแบบ Array 1
Dimension Dim <ชื่อ Array>(จำนวนชุด
Array) //ตัวอย่าง Dim
UTCC(10) คือ Array UTCC เป็นข้อมูล 10 ชุด ตั้งแต่ 0 - 9 Dim <ชื่อ
Array>
(<ตำแหน่งเริ่มต้น>to<ตำแหน่งสุดท้าย>) //ตัวอย่าง Dim
UTCC(2 to 9) คือ Array UTCC
เป็นข้อมูลตั้งแต่ข้อมูลตำแหน่งที่ 1 ถึง 8
2.2 การประกาศค่าแบบ Array n
Dimension Dim <ชื่อ Array>(จำนวนชุด Array 1, จำนวนชุด
Array 2,.... จำนวนชุด Array n) //ตัวอย่าง Dim UTCC(10, 2) คือ Array UTCC 2 มิติ
ขนาด 10 x 2 เป็นข้อมูล 20 ชุด Dim <ชื่อ
Array> (<ตำแหน่งเริ่มต้น>to<ตำแหน่งสุดท้าย> 1,
<ตำแหน่งเริ่มต้น>to <ตำแหน่งสุดท้าย>2,
......<ตำแหน่งเริ่มต้น>to
<ตำแหน่งสุดท้าย>n) //ตัวอย่าง Dim
UTCC(2 to 9, 1 to 10) คือ Array UTCC 2 มิติ ขนาด 8
x 10 เป็นข้อมูล 80 ชุด
Top
3. Operator
Math |
การบวก |
+ |
1+1 =2 |
การลบ |
- |
1-1 = 0 |
การคูณ |
* |
1*1 = 1 |
การหาร |
/ |
1/1 = 1 |
การหารไม่เอาเศษ |
\ |
1/1 = 1 |
การหารเอาแต่เศษ |
Mod |
1/1 = 0 |
การยกกำลัง |
^ |
1^1 =
1 |
Comparison |
เท่ากับ |
= |
A=B |
ไม่เท่ากับ |
<> |
A<>B |
น้อยกว่า |
< |
A<B |
มากกว่า |
> |
A>B |
น้อยกว่าหรือเท่ากับ |
<= |
A<=B |
มากกว่าหรือเท่ากับ |
>= |
A>=B | |
Logic |
And |
A And
B |
ทุกนิพจน์มีค่าเป็น T ผลลัพธ์เป็น
True |
Or |
A Or
B |
ทุกนิพจน์มีค่าเป็น F ผลลัพธ์เป็น
False |
Xor |
A Xor
B |
นิพจน์ทุกนิพจน์ที่เปรียบเทียบถ้าไม่ตรงกัน ผลลัพธ์เป็น
True |
Eqv |
A Eqv
B |
นิพจน์ทุกนิพจน์ที่เปรียบเทียบถ้าตรงกัน ผลลัพธ์เป็น
True |
Imp |
A Imp
B |
ถ้า
นิพจน์ A เป็น T แล้วนิพจน์ B เป็น
F ผลลัพธ์เป็น False เท่านั้น กรณีอื่นเป็น
True |
Not |
Not
A |
จะเป็นค่าตรงกันข้ามของนิพจน์ เช่น นิพจน์ A
เป็น T ผลลัพธ์เป็น False ถ้าเป็น F ผลลัพธ์เป็น
True | |
String |
+ |
เชื่อม String กับ
String |
"UTCC"+"2000" |
& |
เชื่อม String กับ String หรือ
Numeric |
"UTCC" &
2000 | |
Top
4. Decision
Structures 4.1
โครงสร้างการตัดสินใจตัดสินใจโดย If - Then - Else
แบบเงือนไขเดียว |
If
condition Then statements [Else statements ] End
If |
ตัวอย่าง if name="JAD"
then response.write("hello world") else response.write("bye bye") end
if |
แบบซ้อนเงือนไข |
If condition
Then [statements] [ElseIf condition-n
Then [statements]] . . .
[Else[statements]] End
If |
ตัวอย่าง if name="JAD"
then response.write("hello world") elseif UTCC
response.write("UTCC 2000") else
response.write("bye bye") end
if |
4.2 โครงสร้างการตัดสินใจตัดสินใจโดย
Select - Case
Select Case testexpression [Case expressionlist-n
[statements-n]] . . . [Case
Else expressionlist-n
[elsestatements-n]] End Select |
ตัวอย่าง JAD = "AAAA" Select Case
JAD Case "AAAA"
response.write("กกกก") Case "BBBB"
response.write("ขขขข") Case "CCCC"
response.write("คคคค") Case Else
response.write("1234") End
Select |
Top
5. Loop
Structures
5.1
โครงสร้างการวนทำซ้ำตัดสินใจโดย Do - Loop
|
Do
While
<Condition> <Statement> [Exit
Do] Loop |
ทำซ้ำจนกว่าเงือนไขจะเป็น False แล้วจึงหยุด
หรือ ถ้าเจอ Exit Do ให้ออกจากการวน
loop | |
ตัวอย่าง JAD
= 10 Do While JAD <=
100 Reponse.write
(JAD) JAD = JAD +
1 Loop Output จะทำการพิมพ์เลข 10 -
100 |
Do Until <Condition> <Statement> [Exit
Do] Loop |
ทำซ้ำจนกว่าเงือนไขจะเป็น True แล้วจึงหยุด
หรือ ถ้าเจอ Exit Do ให้ออกจากการวน
loop | |
ตัวอย่าง JAD
= 10 Do Until JAD >100
Reponse.write (JAD) JAD =
JAD + 1 Loop Output จะทำการพิมพ์เลข 10 -
100 |
5.2
โครงสร้างการวนทำซ้ำตัดสินใจโดย For - Next
|
For counter = start
To end
[statements] [Exit
For] Next |
ทำซ้ำจนกว่าเงือนไขเริ่ม Start ไปจนถึง
end ถ้าเจอ Exit For ให้ออกจากการวน
loop |
For Each
<ชื่อตัวแปร> In <Array
หรือ Collection> <Statement>
Next |
ทำซ้ำจนกว่าข้อมูลใน Array หรือ
Collcetion จะหมดไป | |
ตัวอย่าง For counter = 1 To
10 response.write("<font size=+"
& counter &">UTCC<br>
</font>") Next Output จะทำการพิมพ์
UTCC ตั้งแต่ขนาด Font Size 1-
10 |
Top
6. Function &
Procedure
6.1
การเขียน Procedure
|
Sub <ชื่อ Procedure>(argument 1, 2 ,
....) <Statement> End
Sub |
เวลาเรียกใช้
Procedure call
<ชื่อ
Procedure>(argument
1, 2 , ....) |
|
ตัวอย่าง <%Sub asphead (a) response.write
"Tel. UTCC " & (a) End Sub%> <%call
asphead (6923050)%>
Output
Tel. UTCC 6923050 |
6.2 การเขียน
Function
|
Function <ชื่อ Function>
(argument 1, 2 , ....) <Statement> End
Function |
เวลาเรียกใช้
Function <ชื่อ Function>(argument 1, 2 ,
....) |
|
ตัวอย่าง <% Function aspsum(x,y) aspsum
= x * y End Function%> ค่าผลคูณได้เท่ากับ <%aspsum
(10,10)%>
Output ค่าผลคูณได้เท่ากับ 100 |
ระหว่าง
Procedure และ Function
จะมีส่วนที่เหมือนและแตกต่างดังนี้
ส่วนที่เหมือนกัน |
ส่วนที่ต่างกัน |
1.
ลดความซ้ำซ้อนของการทำงานที่ทำบ่อย |
1.
Function
มีส่วนที่ส่งค่ากลับมาประมวลผลที่ Function แต่
Procedure ไม่มีการส่งกลับ |
2.
ลดการเขียน Program ซ้ำๆ |
2.
เวลาใช้ Procedure จะใช้คำสั่ง Call
แต่ Function สามรถเรียกได้เลย ไม่ต้องใช้
Call | |
Top
|