การพัฒนาแอพพลิเคชันด้วย ASP

Download Report

Transcript การพัฒนาแอพพลิเคชันด้วย ASP

การเขียนโปรแกรมด ้วยภาษา
สคริปต์
บรรยายโดย
ศุภกฤษฏิ์ นิวัฒนากูล
1
วัตถุประสงค์
ึ ษาสามารถ
เมือ
่ จบบทเรียนนีแ
้ ล ้วนักศก
บอกองค์ประกอบและวิธก
ี ารเขียนโปรแกรม
้ ปต์ได ้อย่างถูกต ้อง
แบบใชสคริ
้
ั บนเว็บ
รู ้คาสงั่ ทีใ่ ชในการพั
ฒนาแอพพลิเคชน
้ ้อย่างถูกต ้องและเหมาะสม
และเลือกใชได
2
เนือ
้ หาของบทเรียน
Static web page และ Dynamic web page
Client-Side Script และ Server-Side Script
ภาษา VBScript
การเขียน ASP Script Code
ตัวแปร ค่าคงที่ และ Operator
คาสงั่ ควบคุมการทางาน
ั และโพซเี จอร์
ฟั งก์ชน
3
Static web page
เป็ นเว็บเพจทีส
่ ร ้างจากภาษา HTML
เนือ
้ หาของเว็บเพจจะไม่มก
ี ารเปลีย
่ นแปลง
จนกว่าจะมีผู ้มาทาการแก ้ไขทีเ่ ว็บเซริ ฟ
์ เวอร์
ไม่สามารถทีจ
่ ะทาให ้เนือ
้ หาเปลีย
่ นแปลงได ้
โดยอัตโนมัต ิ
4
Dynamic web page
เป็ นเว็บเพจทีส
่ ร ้างจากภาษา HTML ร่วมกับ
่ JavaScript VBScript เป็ น
ภาษาสคริปต์ เชน
ต ้น
สามารถทาการเปลีย
่ นแปลงเนือ
้ หาได ้โดย
อัตโนมัต ิ
ประเภทของ Dynamic web page



ประเภททีท
่ าการประมวลผลทีบ
่ ราวเซอร์
ประเภททีท
่ าการประมวลผลทีเ่ ซริ ฟ
์ เวอร์
ประเภททีท
่ าการประมวลผลทีบ
่ ราวเซอร์และ
5
Client-Side Script
รูปแบบคาสงั่
<SCRIPT LANGUAGE=ภาษาสคริปต์>
…คาสงั่
</SCRIPT>
ภาษาสคริปต์สามารถกาหนดได ้เป็ น
VBScript, Jscript, JavaScript
ถ ้าไม่กาหนด LANGUAGE จะถือว่าเป็ น
JavaScript
6
ตัวอย่าง Client-Side Script
<HTML>
<BODY>
ขณะนีเ้ วลาทีบ
่ ราวเซอร์เท่ากับ
<SCRIPT LANGUAGE=VBScript>
<!—
Document.Write Time
-->
</BODY>
</HTML>
7
Server-Side Script
้ อ
รูปแบบคาสงั่ แบบใชเครื
่ งหมาย



<%…%> สาหรับ ASP ทีใ่ ช ้ VBScript
<%@LANGUAGE=JavaScript%> สาหรับ ASP ทีใ่ ช ้
JavaScript
<?PHP...?> สาหรับ PHP
้ ก SCRIPT
รูปแบบคาสงั่ แบบใชแท็
<SCRIPT LANGUAGE=ภาษาสคริปต์
RUNAT=SERVER>
…คาสงั่
</SCRIPT>
8
ตัวอย่าง Server-Side Script
<HTML>
<BODY>
ขณะนีเ้ วลาทีเ่ ซริ ฟ
์ เวอร์เท่ากับ
<%=TIME%>
</BODY>
</HTML>
9
Side Script และ Server-Side
Script
ั ทางาน
ในกรณีทต
ี่ ้องการให ้แอพพลิเคชน
ั อืน
่ ฐานข ้อมูล
ร่วมกันกับแอพพลิเคชน
่ เชน
Server-Side Script จะมีความคล่องตัว
มากกว่า
้
ผู ้ใชจะไม่
เห็นคาสงั่ ของ Server-Side Script
ทาให ้ไม่เห็นคาสงั่ พวกกฎเกณฑ์ทางธุรกิจ
ั
และเงือ
่ นไข (Business Logic) หรือฟั งก์ชน
ต่าง ๆ ซงึ่ ต่างจากการเขียนคาสงั่ แบบ
Client-Side ทีผ
่ ู ้อืน
่ จะเห็นคาสงั่ ทีเ่ ขียน
10
คาสงั่ ของ Client-Side สว่ นใหญ่จะ
่ ถ ้าเขียนด ้วย
เฉพาะเจาะจงกับบราวเซอร์ เชน
VBScript บราวเซอร์ Netscape จะไม่
สนับสนุนยกเว ้นต ้องมี Plug-in ชว่ ย เป็ นต ้น
แต่ถ ้าเป็ น Server-Side Script เราสามารถ
เขียนคาสงั่ ให ้สร ้าง HTML ทีเ่ หมาะสมกับ
บราวเซอร์แต่ละชนิดได ้
การเขียนคาสงั่ ในลักษณะทีต
่ ด
ิ ต่อกับผู ้ใช ้
่ การสร ้างเมนู ถ ้าเขียนแบบ Client-Side
เชน
Script การติดต่อจะเร็วกว่าเพราะว่าโค ้ดอยูท
่ ี่
11
การเขียนโค ้ดแบบ Client-Side Script จะ
ชว่ ยแบ่งเบาการทางานของเว็บเซริ ฟ
์ เวอร์
เนือ
่ งจากโค ้ดทางานทีบ
่ ราวเซอร์ ทาให ้เว็บ
เซริ ฟ
์ เวอร์สามารถรองรับปริมาณงานหรือ
บริการงานได ้มากขึน
้
12
การเลือกรูปแบบการเขียน Script
ั ทีด
้ ง้
ในการสร ้างเว็บแอพพลิเคชน
่ จ
ี ะต ้องใชทั
Client-Side และ Server-Side Script
Client-Side Script จะใชช้ ว่ ยในการสร ้างเว็บ
้
เพจทีม
่ ล
ี ก
ู เล่น ติดต่อกับผู ้ใชและความสวย
งาน
้
Server-Side Script จะใชในการเขี
ยนโค ้ดที่
้
รับข ้อมูลจากผู ้ใชมาเพื
อ
่ เป็ นเงือ
่ นไข
(Business Logics หรือ Business Rules) ใน
การทีจ
่ ะสร ้างเว็บเพจแล ้วสง่ กลับไปยัง
บราวเซอร์
13
ภาษาคอมพิวเตอร์ทั่วไป
เมือ
่ เขียนโค ้ดแล ้วจะต ้องคอมไพล์ (Compile)
ั ทีม
ให ้เป็ นแอพพลิเคชน
่ ไี ฟล์นามสกุล .EXE
หรือ .COM ซงึ่ เป็ นแบบ Binary
สามารถเรียกไฟล์ .EXE หรือ .COM ให ้ทางาน
ได ้ทันทีบนปฏิบัตก
ิ ารทีส
่ ร ้าง
่ Assembly, C, C++,
ตัวอย่างภาษา เชน
Cobol, Fortran, Pascal, Visual Basic,
Visual C++
14
ภาษาสคริปต์ (Script)
โค ้ดทีเ่ ขียนไม่สามารถคอมไพล์ (Compile)
ให ้เป็ นไฟล์ .EXE หรือ .COM ได ้
โค ้ดทีเ่ ขียนจะถูกตีความ (Interpreted) ผ่าน
ซอฟต์แวร์พวก Script Engine ทีส
่ นับสนุน
ภาษาสคริปต์นัน
้ ๆ


IE 5.0 สนับสนุนภาษา VBScript, JavaScript
และ Jscript
IIS 5.0 และ ASP สนับสนุนภาษา VBScript และ
Jscript
15
สถาปั ตยกรรมการทางานของ ASP
Test.asp
http://www.sut.ac.th/test.asp
HTML
Client
Script Host (ASP.DLL)
Web Server
VBScript
Engine
Jscript
Engine
16
ภาษา VBScript
้
พัฒนาขึน
้ มาโดยบริษัท Microsoft เพือ
่ ใชใน
การพัฒนาโปรแกรม
สามารถใชร่้ วมกับคาสงั่ ต่าง ๆ ของภาษา
HTML เพือ
่ ทาให ้เว็บเพจทางานได ้มี
ิ ธิภาพมากขึน
ประสท
้
ภาษา VBScript เป็ น subset ของภาษา
Visual Basic ดังนัน
้ คาสงั่ สว่ นใหญ่จงึ มี
โครงสร ้างคล ้ายกับภาษา Visual Basic
ั 5.0
ปั จจุบน
ั ภาษาสคริปต์เป็ นเวอร์ชน
17
การเขียน ASP Script Code
เขียนในรูป Text File ทีม
่ น
ี ามสกุลเป็ น .ASP
โครงสร ้างหลัก ๆ ในไฟล์ประกอบด ้วย




ข ้อมูลทีจ
่ ะแสดง
แท็ก HTML ต่าง ๆ
ASP Script Code ซงึ่ ได ้แก่ Server-Side Code
Client-Side Script Code
18
วิธก
ี ารเขียนคาสงั่
แบบแรก
<% เขียนโค ้ดทีน
่ ี่ %>
 แบบทีส
่ อง
<%
… เขียนโค ้ดทีน
่ ี่
…
%>

19
ข ้อแนะนาการเขียน VBScript
การจัดระเบียบให ้กับโค ้ดโปรแกรม
่ มายเหตุ
การใสห


้ อ
ใชเครื
่ งหมาย '
ใชค้ าสงั่ Rem
้ อ
การใชเครื
่ งหมายต่อบรรทัด

้ อ
ใชเครื
่ งหมาย underscore (_) วางไว ้หลังสุด
ของบรรทัดทีต
่ ้องการแบ่งมาขึน
้ บรรทัดใหม่
20
ตัวแปร (Variable)
ื่ ทีใ่ ชแทนข
้
้
ตัวแปร หมายถึง ชอ
้อมูลทีใ่ ชใน
การเขียนโปรแกรม ซงึ่ สามารถกาหนดและ
เปลีย
่ นแปลงค่าของตัวแปรได ้
การประกาศตัวแปร




ต ้องเริม
่ ด ้วยตัวอักษร (ควรเป็ นภาษาอังกฤษ)
่ งว่าง
ห ้ามใชตั้ วอักษรเหล่านี้ + - * / $ # ชอ
่ Property,
ระหว่างตัวแปร หรือคาสงวน เชน
Method, Event เป็ นต ้น
ต ้องไม่เกิน 255 ตัวอักษร
ื่ ตัวแปรจะต ้องไม่ซ้ากันภายในขอบเขต
ชอ
เดียวกัน
21
การประกาศตัวแปร
ประกาศแบบเป็ นทางการ (Declared
Explicitly)



รูปแบบ Dim varname
กาหนดโดยการใชค้ าสงั่ Option Explicit
ตัวอย่าง
 Dim strName
 Dim intID, strName, strADdress
ประกาศแบบไม่เป็ นทางการ (Declared
Implicitly)

strName = "Suphakit"
22
การกาหนดค่าให ้กับตัวแปร
ตัวแปรสตริง (String) ค่าของตัวแปรนีจ
้ ะต ้อง
้ อ
่
ใชเครื
่ งหมายคาพูด (" ") เชน
strName="Suphakit"
ตัวแปรตัวเลข (Integer, Long) ค่าของตัว
้ อ
่
แปรนีไ
้ ม่ต ้องใชเครื
่ งหมายใด ๆ เชน
intAge=25
ตัวแปรวันเวลา (Date/Time) ค่าของตัวแปร
้ อ
่
ต ้องใชเครื
่ งหมาย # เชน
StartDate=#5/1/03#
23
Scalars และ Arrays
Scalars

เป็ นตัวแปรทีเ่ ก็บข ้อมูลเพียงค่าเดียว
 strName="Suphakit"
Arrays

เป็ นตัวแปรเพียงตัวเดียวทีม
่ ม
ี ติทาให ้สามารถเก็บ
ข ้อมูลได ้หลายค่า
 strName(3)
 strName(0)="Suphakit"
24
ชนิดข ้อมูล
VBScript มีชนิดข ้อมูลเพียงชนิดเดียวเท่านัน
้ คือ
variant แต่ข ้อมูลชนิดนีส
้ ามารถเป็ นไปได ้หลาย
ข ้อมูลย่อย (subtype) ขึน
้ อยูก
่ บ
ั ว่าตัวแปรจะถูกใช ้
อย่างไร
ชนิดข ้อมูล






Byte
Boolean
Integer
Long
Single
Double
ตัวเลข 0-255
True หรือ False
-32,768 ถึง 32,767
-2,147,483,648 ถึง 2,147,483,647
ตัวเลขทศนิยมขนาด 4 ไบต์
ตัวเลขทศนิยมขนาด 8 ไบต์
25
ชนิดข ้อมูล (ต่อ)







Currency
ค่าตัวเลขขนาด 8 ไบต์
Date
ระหว่าง 1 ม.ค. 100 ถึง 31 ธ.ค.
9999
Object
ข ้อมูล Object ตามขนาดออบเจ็กต์
String
เก็บข ้อมูลตัวอักษรขนาดระหว่าง 02 พันตัวอักษร
Empty
ตัวแปรทีย
่ ังไม่มก
ี ารกาหนดค่า
Error
หมายเลขผิดพลาด
Null
ตัวแปรทีก
่ าหนดไม่ให ้มีคา่ (No
26
data)
ื่ ตัวแปร
รูปแบบการตัง้ ชอ
Boolean
Byte
Date (Time)
Double
Error
Integer
Long
Object
Single
String
bln
byt
dtm
dbl
err
int
lng
obj
sng
str
blnResult
bytCounter
dtmStartDate
dblSum
errCustName
intAge
lngSalary
objRecordset
sngAverage
strName
27
ค่าคงที่ (Constant)
ื่ ทีใ่ ชแทนข
้
ค่าคงที่ คือชอ
้อมูลทีจ
่ ะคงทีแ
่ ละ
ไม่มก
ี ารเปลีย
่ นแปลงค่าตลอดในการพัฒนา
ั ในขอบเขตเดียวกัน
แอพพลิเคชน
การประกาศตัวแปร


ื่ ของค่าคงที่ = ค่าทีจ
Const ชอ
่ ะกาหนด
Const Pi = 3.414
VBScript Constant คือค่าคงทีท
่ ม
ี่ ก
ี าร
้
่
กาหนดมาให ้ใชงานล่
วงหน ้า เชน
vbOKOnly=0, vbOKCancel=1 เป็ นต ้น
28
ค่าคงทีเ่ กีย
่ วกับส ี
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta
vbWhite
&h00
&hFF
&hFF00
&hFFFF
&hFF0000
&hFF00FF
&hFFFFFF
ี า
สด
ี ดง
สแ
สเี ขียว
สเี หลือง
ี ้ าเงิน
สน
ี ว่ ง
สม
ี าว
สข
29
ค่าคงทีเ่ กีย
่ วกับวัน
vbSunday
vbMonday
vbTuesday
vbWednesday
vbThursday
พฤหัสบดี
vbFriday
vbSaturday
1
2
3
4
5
วันอาทิตย์
วันจันทร์
วันอังคาร
วันพุธ
วัน
6
7
วันศุกร์
วันเสาร์
30
โอเปอเรเตอร์ (Operator)
ทางคณิตศาสตร์

+, -, *, /, ^, \ (หารปั ดเศษ), Mod (หารเอา
เฉพาะเศษ)
เปรียบเทียบ

=, <>, >, <, >=, <=
ตรรกศาสตร์

Not, And, Or, Xor, Eqv, Imp
ข ้อความ

&, +
31
คาสงั่ ควบคุมการทางาน
ิ ใจ
กลุม
่ คาสงั่ เพือ
่ ตัดสน


If…Then…Else
Select…Case
กลุม
่ คาสงั่ เพือ
่ ทางานวนรอบ



For…Next
For…Each…Next
Do…Loop
32
If…Then…Else
IF เงือ
่ นไข THEN
… เขียนโค ้ดทีน
่ ี่
ELSEIF เงือ
่ นไข THEN
… เขียนโค ้ดทีน
่ ี่
ELSE
… เขียนโค ้ดทีน
่ ี่
END IF
33
Select…Case
Select Case ตัวเปรียบเทียบ
Case ค่าทีจ
่ ะเปรียบเทียบ
… เขียนโค ้ดทีน
่ ี่
Case ค่าทีจ
่ ะเปรียบเทียบ
… เขียนโค ้ดทีน
่ ี่
Case Else
… เขียนโค ้ดทีน
่ ี่
End Select
34
For…Next
For ตัวนับ = ค่าเริม
่ ต ้น TO ค่าสุดท ้าย [Step
ค่าทีเ่ พิม
่ ]
… เขียนโค ้ดทีน
่ ี่
[Exit For]
… เขียนโค ้ดทีน
่ ี่
Next
35
For…Each…Next
่ื อาร์เรย์หรือ
For Each ตัวแปรอิลเิ มนต์ In ชอ
ั
คอลเลคชน
… เขียนโค ้ดทีน
่ ี่
[Exit For]
… เขียนโค ้ดทีน
่ ี่
Next
36
Do…Loop
Do [{While | Until} เงือ
่ นไข]
… เขียนโค ้ดทีน
่ ี่
[Exit Do]
… เขียนโค ้ดทีน
่ ี่
Loop
While จะทางานก็ตอ
่ เมือ
่ เงือ
่ นไขเป็ นจริง
Until จะทางานก็ตอ
่ เมือ
่ เงือ
่ นไขเป็ นเท็จ
37
Do
… เขียนโค ้ดทีน
่ ี่
[Exit Do]
… เขียนโค ้ดทีน
่ ี่
Loop [{While | Until} เงือ
่ นไข]
38
ั และโพซเี จอร์
ฟั งก์ชน
ั จะมีการบ่างแอพ
ในการพัฒนาแอพพลิเคชน
ั ออกเป็ นสว่ นย่อย ๆ เรียกว่า
พลิเคชน
“โปรแกรมย่อย”


เพือ
่ ทีจ
่ ะชว่ ยให ้การเขียน การแก ้ไข การดีบก
ั
ั ได ้
การทดสอบ และการดูแลรักษาแอพพลิเคชน
สะดวกขึน
้
้
เพือ
่ ลดความซ้าซอนของโค
้ด
โปรแกรมย่อย ๆ ของ VBScript แบ่งออกเป็ น
2 ประเภท


ั โพซเี จอร์ (Sub Procedure)
ซบ
ั (Function)
ฟั งก์ชน
39
Sub Procedure
เป็ นโปรแกรมย่อยทีเ่ ขียนขึน
้ มาเพือ
่ ทางาน
อย่างใดอย่างหนึง่ เสร็จแล ้ว จะไม่มก
ี ารสง่ ค่า
กลับ (Do Not Return Value)
ั โพซเี จอร์
รูปแบบการสร ้างซบ
Sub sub_name([Parameter1],...)
... เขียนโค ้ดทีน
่ ี่
End Sub
้ บ
ั โพซเี จอร์
รูปแบบการเรียกใชซ


sub_name([Parametr1],...)
Call sub_name([Parametr1],...)
40
Function
เป็ นโปรแกรมย่อยทีเ่ ขียนขึน
้ มาเพือ
่ ทางานอย่างใด
อย่างหนึง่ เสร็จแล ้ว จะมีการสง่ ค่ากลับ (Return
Value)
ั
รูปแบบการสร ้างฟั งก์ชน
Function function_name([Parameter1],...)
... เขียนโค ้ดทีน
่ ี่
function_name = value
End Function
้
ั
รูปแบบการใชงานฟั
งก์ชน



variable = function_name([Parameter1],...)
<%=function_name([Parameter1],...) %>
Response.Write function_name([Parameter1],...)
41
้
ั โพซเี จอร์
คาสงั่ ทีใ่ ชในการออกจากซ
บ

Exit Sub
้
ั
คาสงั่ ทีใ่ ชในการออกจากฟั
งก์ชน

Exit Function
42
Argument
ั โพซ ี
เป็ นตัวแปรทีใ่ ชรั้ บค่าทีส
่ ง่ มาจากซบ
ั
เจอร์หรือฟั งก์ชน
1. Argument แบบ ByVal
ั โพซเี จอร์หรือ
เมือ
่ มีการเปลีย
่ นแปลงค่าในซบ
ั จะไม่สง่ ผลต่อค่าของตัวแปรทีส
ฟั งก์ชน
่ ง่ ค่ามา
จะต ้องระบุคาว่า ByVal ไว ้ด ้านหน ้าตัวแปร
2. Argument แบบ ByRef
ั โพซเี จอร์หรือ
เมือ
่ มีการเปลีย
่ นแปลงค่าในซบ
ั จะสง่ ผลต่อค่าของตัวแปรทีส
ฟั งก์ชน
่ ง่ ค่ามา
จะต ้องระบุคาว่า ByRef ไว ้ด ้านหน ้าตัวแปร
ถ ้าไม่มก
ี ารระบุจะถือว่าเป็ น ByVal
43
ขอบเขต (Scope) ของตัวแปร
Private


ั โพซเี จอร์หรือ
เป็ นการประกาศตัวแปร ภายในซบ
ั
ฟั งก์ชน
้ ้เฉพาะในซบ
ั โพซเี จอร์หรือฟั งก์ชน
ั ทีท
จะใชได
่ าการ
ประกาศตัวแปรเท่านัน
้
Public



ั โพซเี จอร์หรือ
เป็ นการประกาศตัวแปรภายนอกซบ
ั
ฟั งก์ชน
สว่ นใหญ่จะประกาศไว ้สว่ นบนของ ASP Page
้ ้ในทุก ๆ ทีใ่ น ASP Page
ตัวแปรนีจ
้ ะสามารถใชได
44
ั เบือ
ฟั งก์ชน
้ งต ้นของ VBScript
ั เกีย
ฟั งก์ชน
่ วกับข ้อความ
ั เกีย
ฟั งก์ชน
่ วกับตัวเลข
ั เกีย
ฟั งก์ชน
่ วกับวันทีแ
่ ละเวลา
ั ทีใ่ ชแปลงระหว่
้
ฟั งก์ชน
างตัวแปรต่างชนิดกัน
45
ั เกีย
ฟั งก์ชน
่ วกับข ้อความ
การแปลงตัวเลขให ้อยูใ่ นกลุม
่ ของข ้อความ

Str(number)
 number หมายถึงตัวเลขทีต
่ ้องการแปลงให ้อยูใ่ นรูปข ้อความ
การค ้นหาคาในข ้อความ

InStr([start,]string1,string2[,compare])
 start ตาแหน่งเริม
่ ต ้นในการค ้นหา
 string1 ข ้อความทีใ่ ชค้ ้นหา
 string2 คาทีต
่ ้องการค ้นหา
 compare โดยสามารถกาหนดเป็ น
 vbBinaryCompare (ค่า default) ,0, เปรียบเทียบแบบ Binary

vbTextCompare, 1, เปรียบเทียบแบบข ้อความ
46
การตัดคาในข ้อความ




Left(string, length)
Mid(string, start[,length])
Right(string, length)
โดยที่
 string ข ้อความทีต
่ ้องการตัดคา
 start ตาแหน่งเริม
่ ต ้น
 length จานวนตัวอักษรทีต
่ ้องการตัดคา
47
การกระทารหัส ASCII


้
Asc(string)  ใชแสดงรหั
ส ASCII ของ
ตัวอักษร
้
Chr(charcode)  ใชแสดงอั
กษรตามรหัส
ASCII
่ งว่างในข ้อความทิง้
การตัดชอ



LTrim(string)
RTrim(string)
Trim(string)
48
การแปลงขนาดของตัวอักษรในข ้อความ


LCase(string)  แปลงให ้เป็ นตัวพิมพ์เล็ก
UCase(string)  แปลงให ้เป็ นตัวพิมพ์ใหญ่
การกาหนดอักษรซ้าในข ้อความ

String(number, character)
 number จานวนทีต
่ ้องการซ้า
 character รหัส ASCII หรือตัวอักษรทีต
่ ้องการทาซ้า
การนับจานวนตัวอักษรทีป
่ ระกอบกันเป็ น
ข ้อความ
49
ั เกีย
ฟั งก์ชน
่ วกับตัวเลข
เกีย
่ วกับเครือ
่ งหมายของตัวเลข


Abs(number)  แปลงตัวเลขให ้เป็ นบวก
Sgn(number)  ตรวจสอบตัวเลขทีร่ ะบุ
 ให ้ผลลัพธ์ 1 กรณีเป็ นจานวนเต็มบวก
 ให ้ผลลัพธ์ -1 กรณีเป็ นจานวนเต็มลบ
 ให ้ผลลัพธ์ 0 กรณีเป็ นจานวนเต็มศูนย์
เกีย
่ วกับเลขฐาน


ิ ให ้เป็ นเลขฐานแปด
Oct(number)  แปลงเลขฐานสบ
ิ ให ้เป็ นเลขฐานสบ
ิ
Hex(number)  แปลงเลขฐานสบ
หก
50
การปั ดเศษ



Fix(number)  ตัดทศนิยมทิง้ ถ ้าเป็ นค่าลบให ้
ปั ดไปเป็ นค่ามาก
Int(number)  ตัดทศนิยมทิง้ ถ ้าเป็ นค่าลบให ้
ปั ดไปเป็ นค่าน ้อย
CInt(number)  ตัดทศนิยมทิง้ โดยถ ้าเศษมีคา่
มากกว่า 5 ปั ดขึน
้
การแปลงข ้อความไปเป็ นตัวเลข

Val(string)
51
ั เกีย
ฟั งก์ชน
่ วกับวันทีแ
่ ละเวลา
เกีย
่ วกับวันที่





CDate(stringdate)  แปลงข ้อความให ้อยูใ่ น
รูปแบบวันทีแ
่ ละเวลา
Date  ให ้แสดงค่าของวันทีป
่ ั จจุบน
ั
Day(date)  ให ้แสดงสว่ นของวันทีท
่ รี่ ะบุใน
สว่ น date
Month(date)  ให ้แสดงสว่ นของเดือนทีร่ ะบุ
ในสว่ น date
Year(date) ให ้แสดงสว่ นของปี ทรี่ ะบุในสว่ น
date
52
เกีย
่ วข ้องกับเวลา




Time แสดงเวลาปั จจุบน
ั ของเครือ
่ ง
Hour(time) แสดงสว่ นของชวั่ โมง 0-23
Minute(time) แสดงสว่ นของนาที 0-59
Second(time) แสดงสว่ นของวินาที 0-59
เกีย
่ วข ้องกับวันทีแ
่ ละเวลา

Now  แสดงวันทีแ
่ ละเวลาปั จจุบน
ั ของเครือ
่ ง
53
ั ทีใ่ ชแปลงระหว่
้
ฟั งก์ชน
างตัวแปร
ต่างชนิดกัน
CDbl(expression)  แปลงให ้อยูใ่ นรูป
Double
CInt(expression)  แปลงให ้อยูใ่ นรูป
Integer
CLng(expression) แปลงให ้อยูใ่ นรูป Long
CSng(expression)  แปลงให ้อยูใ่ นรูป
Single
CStr(expression)  แปลงให ้อยูใ่ นรูป
54
String
InputBox
InputBox (prompt [,title] [,default]
[,xpos] [,ypos])





Prompt คือข ้อความทีจ
่ ะปรากฏในอินพุตบ็อกซ ์
Title คือข ้อความทีจ
่ ะปรากฏบนไตเติล
้ บาร์ของ
อินพุตบ็อกซ ์
Default คือการกาหนดค่าเริม
่ ต ้น
Xpos กาหนดตาแหน่งในแนวนอน (พิกเซล) โดย
้
เริม
่ จากซายของจอ
Ypos กาหนดตาแหน่งในแนวตัง้ (พิกเซล) โดยเริม
่
55
จากด ้านบนของจอ
MsgBox
MsgBox (prompt [,buttons] [,title])


Prompt คือข ้อความทีจ
่ ะปรากฏในแมสเสจบ็อกซ ์
Buttons คือค่าคงที่ หรือค่าทีก
่ าหนดเพือ
่ แสดงปุ่ ม
 vbOKOnly 0, vbOKCancel 1, vbAbortRetryIgnore 2,
vbYesNoCancel 3, vbYesNo 4, vbRetryCancel 5, vbCritical
16, vbQuestion 32, vbExclamation 48, vbInformation 64,
vbDefaultButton1 0, vbDefaultButton2 256,
vbDefaultButton3 512

Title คือข ้อความทีจ
่ ะปรากฏบนไตเติล
้ บาร์ของแมส
เสจบ็อกซ ์
ค่าทีส
่ ง่ กลับเมือ
่ มีการคลิกปุ่ ม

vbOK 1, vbCancel 2, vbAbort 3, vbRetry 4,
vbIgnore 5, vbYes 6, vbNo 7
56