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