การเขียนโปรแกรมภาษา ASP

ความหมายของ ASP ?

ASP คืออะไร
ASP ย่อมาจาก Active Server Pages อ่านออกเสียงว่า "เอ เอส พี"
ASP ใช้สำหรับสร้างงาน(application)ขั้นสูง ในอินเตอร์เน็ต-อินทราเน็ต เสริมการ
ทำงานที่ไฟล์ html ธรรมดาทำไม่ได้ หรือต้องการให้งานต่างๆเป็นไปอย่างอัตโนมัติ
โดยผู้ใช้ไม่ต้องทำการปรับปรุงข้อมูลเอง เหมาะสำหรับผู้ใช้มืออาชีพหรือผู้ที่สนใจอย่างจริงจัง
หรือทำเป็นอาชีพ สำหรับผู้ใช้ที่ไม่ต้องการเว็บไซต์ที่มีลักษณะดังกล่าวข้างต้น หรือมีข้อมูลน้อยเพียงไม่กี่หน้า นานๆจะปรับปรุงข้อมูลสักครั้ง
ก็ไม่จำเป็นต้องใช้ก็ได้ สำหรับงานที่ต้องการให้เป็นอัตโนมัติเช่น Guest Book, Counter,
สถิติ, ห้องสนทนา ก็สามารถสมัครใช้บริการหรือใช้ cgi สำเร็จรูปได้ซึ่งมีหลายเว็บไซต์ให้บริการโดยไม่คิดค่าใช้จ่าย
ลักษณะการทำงานเป็นดังนี้







การแทรกคำอธิบายใน ASP จะแทรกด้วยสัญลักษณ์ ' comment
เช่น
<%
Dim a,b,c ' ประกาศตัวแปร
a=1 ' กำหนดค่าตัวแปร a
b=2 ' กำหนดค่าตัวแปร b
c=3 ' กำหนดค่าตัวแปร ac
%>


Sample


<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
'เปิดไฟล์ Text สำหรับบันทึกจำนวนผู้เข้าเยี่ยมชมเว็บไซต์ การเรียกใช้มีคำอธิบายอยู่ด้านล่าง
'ในส่วนของ Sub Application_OnStart นี้สามารถใส่ application อื่นๆได้อีกตามต้องการ
'แต่สิ่งที่จะใส่ในส่วนนี้ควรเป็น โปรแกรมที่ต้องมีการ share หรือใช้ตัวแปรนี้ร่วมกันทุกคนที่เข้ามาในเว็บไซต์
'เช่น จำนวน visitor ในตัวอย่างนี้ หรืออาจจะนำมานับจำนวนคนที่กำลัง connect กับเว็บไซต์ของคุณ
'อยู่ก็ได้
Sub Application_OnStart
VisitorCountFilename = Server.MapPath("counter.txt")
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set Out= FileObject.OpenTextFile (VisitorCountFilename, 1, False, False)
Application("visitors") = Out.ReadLine
Application("VisitorCountFilename") = VisitorCountFilename
End Sub
'ถ้าเปิด Application ใดๆใน Application_OnStart ควรต้องมาปิดในนี้ด้วย
Sub Application_OnEnd
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set Out= FileObject.CreateTextFile (Application("VisitorCountFilename"), True, False)
Out.WriteLine(Application("visitors"))
Out.Close
End Sub

'Sub Session_OnStart นี้ใช้สำหรับส่งหรือบันทึกตัวแปรไว้เพื่อให้ผู้ใช้เว็บไซต์แต่ละคน
Sub Session_OnStart
'ดูตัวอย่างการนำ session สองตัวแปรนี้ไปใช้ในไฟล์ .asp ได้ที่ตัวอย่างด้านล่าง
Session("PageTheme") = "background=/bg.jpg text=#000000 bgcolor=#FFFFFF link=#0000ee vlink=#551A8B alink=#ff0000"
Session("PageTitle") = " ส่วนแก้ของไตเติล "
'เขียนจำนวนผู้ใช้เว็บเพิ่มอีก 1 คน
Application.Lock
Application("visitors") = Application("visitors") + 1
t_visitors = Application("visitors")
Application.Unlock
Session("VisitorID") = t_visitors
If t_visitors MOD 15 = 0 Then
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
Set Out= FileObject.CreateTextFile (Application("VisitorCountFilename"), True, False)
Application.Lock
Out.WriteLine(t_visitors)
Application.Unlock
End If
End Sub

'ลบตัวแปรที่กำหนดไว้ใน Sub Session_OnStart
Sub Session_OnEnd
Session("PageTheme") = Nothing
Session("PageTitle") = Nothing
End Sub
</SCRIPT>
การเขียนเว็บด้วย HTML เท่านั้น


<html></title>

Hello<hr>
1<br>
2<br>
3<br>
4<br>
5<br>
<hr>Bye
</body></html>

Hello
----------------------------------------------------------------------------
1
2
3
4
5
-----------------------------------------------------------------------------
Bye

การเขียนเว็บด้วย ASP เท่านั้น


<%
response.write( "<html><title>Welcome to " )
response.write( request.servervariables("SERVER_NAME") )
response.write( "</title><body>Hello<hr>" )
for n = 1 to 5
response.write( n & "<br>")
next
response.write( "<hr>Bye</body></html>" )
%>


Hello
--------------------------------------------------------------------------------
1
2
3
4
5
--------------------------------------------------------------------------------
Bye

การเขียนเว็บด้วย ASP และ HTML ร่วมกัน



<html>
<title>
Welcome to <%=request.servervariables("SERVER_NAME")%>
</title>
<body>
Hello<hr>
<%
for n = 1 to 5
response.write( n & "<br>")
next
%>
<hr>Bye
</body></html>

Hello
--------------------------------------------------------------------------------
1
2
3
4
5
--------------------------------------------------------------------------------
Bye

ชนิดของตัวแปร


Empty

ข้อมูลชนิดว่าง คือค่าเป็น 0

Null

ข้อมูลว่างๆไม่มีค่าใด ๆ เลย

Boolean

เป็นข้อมูลทางตรรกะ คือ True กับ False

Byte

จำนวนเต็ม 0-255

Integer

จำนวนเต็ม -32,768 ถึง 32,767

Long

จำนวนเต็ม -2,483,147,483 ถึง 2,174,483,647

Double

ข้อมูลที่เป็นทศนิยม

Date

ใช้เก็บวันและเวลา

String

ใช้เก็บข้อความ

Object

ตัวแปร Object

Error

ชนิดของข้อมูลที่ใช้ในการอ้างถึงคอนโทรลต่าง ๆ

 

 

การประกาศตัวแปร
รูปแบบ
Dim <ตัวแปร>
เช่น Dim name
หลักการตั้งชื่อตัวแปร

1.ต้องไม่ซ้ำกันในโปรแกรมเดียวกัน
2.ไม่ตรงกันคำสงวน
3.ความยาวไม่เกิน 255 ตัวอักขระ
4.ต้องเริ่มต้นด้วย A-Z หรือ a-z
ชนิดของการประกาศตัวแปร
1.ประกาศโดยใช้ Dim
ตัวอย่าง
Dim name,surname
2.ประกาศโดยไม่ใช้ Dim

ตัวอย่าง
name="นายวีระชัย นุกิจรัมย์"
age=21



Constant ค่าคงที่

การประกาศค่าคงที่ เป็นการประกาศค่าที่จะใช้ตลอด Application
Const <ชื่อค่าคงที่> = <ค่าคงที่>

ตัวอย่าง

Const CID= 123456789

การเปลี่ยนชนิดของข้อมูล


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

Operator ของ Asp
Operator นั้นเป็นการกระทำบางอย่างกับข้อมูล และได้ผลลัพธ์ออกมา ซึ่ง Operator ของ Asp นั้นสามารถแบ่งออกเป็นประเภทใหญ่ ๆ ได้ดังนี้
- Operator ในการทำงานงานทางคณิตศาสตร์

Operator ที่เกี่ยวข้องกับการคำนวณทางคณิตศาสตร์ ตัวอย่างเช่น การบวก , การลบ, การคูณ และการหาร เป็นต้น ซึ่งมีดังในตารางดังต่อไปนี้


การกระทำ

สัญลักษณ์

ตัวอย่าง

ผลลัพธ์

การบวก

+

1+2

3

การลบ

-

2-1

1

การคูณ

*

2*2

4

การหาร

/

7/2

3.5

การหารแบบเต็มจำนวน

\

5\3

1

การหารแบบเอาเศษ

Mod

10 Mod 3

1

การยกกำลัง

^

2^4

16

- Operator ในการทำงานทางตรรกะ

Operator ทางตรรกะจะให้ผลลัพธ์เป็นค่า True และ False ซึ่งรายละเอียดในการแสดงผลทางตรรกะในกรณีต่างๆ มีดังนี้

- Operator And


A

B

A and B

True

True

True

True

False

False

False

True

False

False

False

False

 
สรุป ถ้าเป็นOperator And จะเป็น True กรณีเดียวคือ เมื่อทั้ง A และ B เป็น True


- Operator Or


A

B

A or B

True

True

True

True

False

True

False

True

True

False

False

False

สรุป ถ้าเป็นOperator Or จะเป็น False กรณีเดียวคือ เมื่อทั้ง A และ B เป็น False
- Operator Xor


A

B

A Xor B

True

True

False

True

False

True

False

True

True

False

False

False

 
สรุป ถ้าเป็นOperator Xor จะเป็น ผลที่ได้ออกมาเป็นดังนี้คือกรณีค่าของ A และ B ตรงกัน ผลจะออกมาเป็น False แต่ถ้าค่าของ A และ B ไม่ตรงกันผลออกมาจะเป็น True


Operator Eqv


A

B

A Eqv B

True

True

True

True

False

False

False

True

False

False

False

True

สรุป ถ้าเป็นOperator Eqv จะเป็น ผลที่ได้ออกมาจะตรงกันข้ามกับ Xor คือ กรณีค่าของ A และ B ตรงกัน ผลจะออกมาเป็น True แต่ถ้าค่าของ A และ B ไม่ตรงกันผลออกมาจะเป็น False


Operator Imp


A

B

A Imp B

True

True

True

True

False

False

False

True

True

False

False

True

สรุป Operator Imp จะมีค่าเหมือนกับคำว่า ถ้า....แล้ว ซึ่งถ้าสังเกตตาราง เราสามรถสรุปได้ว่า กรณีที่ผลลัพธ์จะเป็น False นั่นคือ เมื่อ A = True และ B = False เท่านั้น


Operator Not


A

Not A

True

False

False

True

สรุป Operator not จะเป็นการเปลี่ยนค่าที่มีอยู่ในเป็นตรงกันข้าม
 
- Operator ในการทำงานเกี่ยวกับข้อมูลชนิด String

Operator กลุ่มนี้ เป็น Operator ที่ใช้ในการเชื่อมระหว่าง String กับ String เข้าด้วยกัน หรือ ระหว่าง String กับ Numueric ซึ่งมีดังนี้

+ = ใช้เชื่อม String กับ String
& = ใช้เชื่อม String กับ Numeric หรือ String ก็ได้เช่นกัน
ตัวอย่าง
"ASP" + "Chapter.com"
ผลที่ได้ ASP Chapter.com
อีกสักตัวอย่าง
X = "Hello"
Y = 5
Z = "Times"
W = X&Y&Z
ผลลัพธ์ที่ได้ Hello 5 times

- Operator ในการเปรียบเทียบ


สัญลักษณ์

ความหมาย

รูปแบบการใช้งาน

=

เท่ากับ

A = B

<> 

ไม่เท่ากับ

A <> B

น้อยกว่า

A < B

มากกว่า

A> B

<=

น้อยกว่าหรือเท่ากับ

A<= B

>=

มากกว่าหรือเท่ากับ

A>=B

สรุป Operator ต่างเหล่านี้เป็นสิ่งจำเป็นมากในการเขียนโปรแกรม เพราะเป็นหลักการพื้นฐานสำหรับใช้ในการควบคุมและกำหนดรูปแบบการทำงานของโปรแกรม ถ้ามีการทำความเข้าใจในส่วนนี้เป็นอย่างดีแล้ว จะช่วยให้การเขียนโปรแกรมในการตรวจสอบเงื่อนไข ไม่ใช่เรื่องยากเย็นอีกต่อไป เพราะสิ่งที่เจอก็คือ ไม่ว่าจะเป็นมือใหม่หรือมือเก่า ถึงคราวต้องตัดสินใจด้วยเงื่อนไขการทำงานบางอย่างที่ซับซ้อน ก็เล่นเอาปวดหัวเหมือนกัน ก็ต้องกลับมาใช้หลักพวกนี้นั่นเอง
เป็นโครงสร้างข้อมูลที่เป็นกลุ่มเดียวกัน เพื่อลดความซ้ำซ้อนของตัวแปรที่จะเกิดขึ้น
การประกาศตัวแปร Array
Dim A(5)
'ประกาศตัวแปร Array A(0),A(1),A(2),A(3),A(4),A(5)
การกำหนดค่าให้กับ Array
A(0)=4
A(1)=9
A(2)=5
A(3)=6
A(4)=3
A(5)=1
การประกาศตัวแปร Array หลายมิติ

Dim B(2,5) 'Array 2 มิติ
Dim C(2,4,8) 'Array 3 มิติ

TOP