การเขียนโปรแกรมด้วยภาษาสคริปต์

56
1 กกกกกกกกกกกกกกกกกกก กกกกกกกกกกก กกกกกกกกก กกกกกกกกก กกกกกกกกกก

Upload: avram-murphy

Post on 01-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

การเขียนโปรแกรมด้วยภาษาสคริปต์. บรรยายโดย ศุภกฤษฏิ์ นิวัฒนากูล. วัตถุประสงค์. เมื่อจบบทเรียนนี้แล้วนักศึกษาสามารถ บอกองค์ประกอบและวิธีการเขียนโปรแกรมแบบใช้สคริปต์ได้อย่างถูกต้อง รู้คำสั่งที่ใช้ในการพัฒนาแอพพลิเคชันบนเว็บและเลือกใช้ได้อย่างถูกต้องและเหมาะสม. เนื้อหาของบทเรียน. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: การเขียนโปรแกรมด้วยภาษาสคริปต์

1

การเขี�ยนโปรแกรมด้�วยภาษาสคร�ปต์�

บรรยายโด้ยศุ�ภกฤษฏิ์�� น�ว�ฒนาก ล

Page 2: การเขียนโปรแกรมด้วยภาษาสคริปต์

2

ว�ต์ถุ�ประสงค�

เม%&อจบบทเร�ยนน�*แล�วน�กศุ+กษาสามารถุบอกองค�ประกอบและว�ธี�การเขี�ยนโปรแกรมแบบใช้�สคร�ปต์�ได้�อย0างถุ กต์�องร �ค1าส�&งท�&ใช้�ในการพั�ฒนาแอพัพัล�เคช้�นบนเว3บและเล%อกใช้�ได้�อย0างถุ กต์�องและเหมาะสม

Page 3: การเขียนโปรแกรมด้วยภาษาสคริปต์

3

เน%*อหาขีองบทเร�ยน

Static web page และ Dynamic web pageClient-Side Script และ Server-Side Scriptภาษา VBScriptการเขี�ยน ASP Script Codeต์�วแปร ค0าคงท�& และ Operatorค1าส�&งควบค�มการท1างานฟั6งก�ช้�นและโพัซี�เจอร�

Page 4: การเขียนโปรแกรมด้วยภาษาสคริปต์

4

Static web page

เป8นเว3บเพัจท�&สร�างจากภาษา HTML เน%*อหาขีองเว3บเพัจจะไม0ม�การเปล�&ยนแปลงจนกว0าจะม�ผู้ �มาท1าการแก�ไขีท�&เว3บเซี�ร�ฟัเวอร� ไม0สามารถุท�&จะท1าให�เน%*อหาเปล�&ยนแปลงได้�โด้ยอ�ต์โนม�ต์�

Page 5: การเขียนโปรแกรมด้วยภาษาสคริปต์

5

Dynamic web page

เป8นเว3บเพัจท�&สร�างจากภาษา HTML ร0วมก�บภาษาสคร�ปต์� เช้0น JavaScript VBScript เป8นต์�นสามารถุท1าการเปล�&ยนแปลงเน%*อหาได้�โด้ยอ�ต์โนม�ต์�ประเภทขีอง Dynamic web page ประเภทท�&ท1าการประมวลผู้ลท�&บราวเซีอร� ประเภทท�&ท1าการประมวลผู้ลท�&เซี�ร�ฟัเวอร� ประเภทท�&ท1าการประมวลผู้ลท�&บราวเซีอร�และเซี�ร�ฟัเวอร�

Page 6: การเขียนโปรแกรมด้วยภาษาสคริปต์

6

Client-Side Script

ร ปแบบค1าส�&ง<SCRIPT LANGUAGE=ภาษาสคร�ปต์�>…ค1าส�&ง</SCRIPT>

ภาษาสคร�ปต์�สามารถุก1าหนด้ได้�เป8น VBScript, Jscript, JavaScript ถุ�าไม0ก1าหนด้ LANGUAGE จะถุ%อว0าเป8น JavaScript

Page 7: การเขียนโปรแกรมด้วยภาษาสคริปต์

7

ต์�วอย0าง Client-Side Script

<HTML><BODY> ขีณะน�*เวลาท�&บราวเซีอร�เท0าก�บ <SCRIPT LANGUAGE=VBScript> <!— Document.Write Time --></BODY></HTML>

Page 8: การเขียนโปรแกรมด้วยภาษาสคริปต์

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>

Page 9: การเขียนโปรแกรมด้วยภาษาสคริปต์

9

ต์�วอย0าง Server-Side Script

<HTML><BODY> ขีณะน�*เวลาท�&เซี�ร�ฟัเวอร�เท0าก�บ <%=TIME

%></BODY></HTML>

Page 10: การเขียนโปรแกรมด้วยภาษาสคริปต์

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าส�&งท�&เขี�ยน

Page 11: การเขียนโปรแกรมด้วยภาษาสคริปต์

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บเซี�ร�ฟัเวอร�

Page 12: การเขียนโปรแกรมด้วยภาษาสคริปต์

12

การเขี�ยนโค�ด้แบบ Client-Side Script จะช้0วยแบ0งเบาการท1างานขีองเว3บเซี�ร�ฟัเวอร� เน%&องจากโค�ด้ท1างานท�&บราวเซีอร� ท1าให�เว3บเซี�ร�ฟัเวอร�สามารถุรองร�บปร�มาณงานหร%อบร�การงานได้�มากขี+*น

Page 13: การเขียนโปรแกรมด้วยภาษาสคริปต์

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งกล�บไปย�งบราวเซีอร�

Page 14: การเขียนโปรแกรมด้วยภาษาสคริปต์

14

ภาษาคอมพั�วเต์อร�ท�&วไป

เม%&อเขี�ยนโค�ด้แล�วจะต์�องคอมไพัล� (Compile) ให�เป8นแอพัพัล�เคช้�นท�&ม�ไฟัล�นามสก�ล .EXE หร%อ .COM ซี+&งเป8นแบบ Binary สามารถุเร�ยกไฟัล� .EXE หร%อ .COM ให�ท1างานได้�ท�นท�บนปฏิ์�บ�ต์�การท�&สร�างต์�วอย0างภาษา เช้0น Assembly, C, C++, Cobol, Fortran, Pascal, Visual Basic, Visual C++

Page 15: การเขียนโปรแกรมด้วยภาษาสคริปต์

15

ภาษาสคร�ปต์� (Script)

โค�ด้ท�&เขี�ยนไม0สามารถุคอมไพัล� (Compile) ให�เป8นไฟัล� .EXE หร%อ .COM ได้�โค�ด้ท�&เขี�ยนจะถุ กต์�ความ (Interpreted) ผู้0านซีอฟัต์�แวร�พัวก Script Engine ท�&สน�บสน�นภาษาสคร�ปต์�น�*น ๆ IE 5.0 สน�บสน�นภาษา VBScript, JavaScript และ

Jscript IIS 5.0 และ ASP สน�บสน�นภาษา VBScript และ

Jscript

Page 16: การเขียนโปรแกรมด้วยภาษาสคริปต์

16

สถุาป6ต์ยกรรมการท1างานขีอง ASP

Script Host (ASP.DLL)

http://www.sut.ac.th/test.asp

HTML

ClientWeb Server

Test.asp

VBScript Engine

Jscript Engine

Page 17: การเขียนโปรแกรมด้วยภาษาสคริปต์

17

ภาษา VBScript

พั�ฒนาขี+*นมาโด้ยบร�ษ�ท Microsoft เพั%&อใช้�ในการพั�ฒนาโปรแกรมสามารถุใช้�ร0วมก�บค1าส�&งต์0าง ๆ ขีองภาษา HTML เพั%&อท1าให�เว3บเพัจท1างานได้�ม�ประส�ทธี�ภาพัมากขี+*นภาษา VBScript เป8น subset ขีองภาษา Visual Basic ด้�งน�*น ค1าส�&งส0วนใหญ่0จ+งม�โครงสร�างคล�ายก�บภาษา Visual Basicป6จจ�บ�นภาษาสคร�ปต์�เป8นเวอร�ช้�น 5.0

Page 18: การเขียนโปรแกรมด้วยภาษาสคริปต์

18

การเขี�ยน ASP Script Code

เขี�ยนในร ป Text File ท�&ม�นามสก�ลเป8น .ASPโครงสร�างหล�ก ๆ ในไฟัล�ประกอบด้�วย ขี�อม ลท�&จะแสด้ง แท3ก HTML ต์0าง ๆ ASP Script Code ซี+&งได้�แก0 Server-Side

Code Client-Side Script Code

Page 19: การเขียนโปรแกรมด้วยภาษาสคริปต์

19

ว�ธี�การเขี�ยนค1าส�&ง แบบแรก <% เขี�ยนโค�ด้ท�&น�& %> แบบท�&สอง <% … เขี�ยนโค�ด้ท�&น�& … %>

Page 20: การเขียนโปรแกรมด้วยภาษาสคริปต์

20

ขี�อแนะน1าการเขี�ยน VBScript

การจ�ด้ระเบ�ยบให�ก�บโค�ด้โปรแกรมการใส0หมายเหต์� ใช้�เคร%&องหมาย ' ใช้�ค1าส�&ง Rem

การใช้�เคร%&องหมายต์0อบรรท�ด้ ใช้�เคร%&องหมาย underscore (_) วางไว�หล�งส�ด้

ขีองบรรท�ด้ท�&ต์�องการแบ0งมาขี+*นบรรท�ด้ใหม0

Page 21: การเขียนโปรแกรมด้วยภาษาสคริปต์

21

ต์�วแปร (Variable)

ต์�วแปร หมายถุ+ง ช้%&อท�&ใช้�แทนขี�อม ลท�&ใช้�ในการเขี�ยนโปรแกรม ซี+&งสามารถุก1าหนด้และเปล�&ยนแปลงค0าขีองต์�วแปรได้�การประกาศุต์�วแปร ต์�องเร�&มด้�วยต์�วอ�กษร (ควรเป8นภาษาอ�งกฤษ) ห�ามใช้�ต์�วอ�กษรเหล0าน�* + - * / $ # ช้0องว0างระหว0าง

ต์�วแปร หร%อค1าสงวน เช้0น Property, Method, Event เป8นต์�น

ต์�องไม0เก�น 255 ต์�วอ�กษร ช้%&อต์�วแปรจะต์�องไม0ซี1*าก�นภายในขีอบเขีต์เด้�ยวก�น

Page 22: การเขียนโปรแกรมด้วยภาษาสคริปต์

22

การประกาศุต์�วแปร

ประกาศุแบบเป8นทางการ (Declared Explicitly) ร ปแบบ Dim varname ก1าหนด้โด้ยการใช้�ค1าส�&ง Option Explicit ต์�วอย0าง

Dim strName Dim intID, strName, strADdress

ประกาศุแบบไม0เป8นทางการ (Declared Implicitly) strName = "Suphakit"

Page 23: การเขียนโปรแกรมด้วยภาษาสคริปต์

23

การก1าหนด้ค0าให�ก�บต์�วแปร

ต์�วแปรสต์ร�ง (String) ค0าขีองต์�วแปรน�*จะต์�องใช้�เคร%&องหมายค1าพั ด้ (" ") เช้0น strName="Suphakit"ต์�วแปรต์�วเลขี (Integer, Long) ค0าขีองต์�วแปรน�*ไม0ต์�องใช้�เคร%&องหมายใด้ ๆ เช้0น intAge=25ต์�วแปรว�นเวลา (Date/Time) ค0าขีองต์�วแปรต์�องใช้�เคร%&องหมาย # เช้0น StartDate=#5/1/03#

Page 24: การเขียนโปรแกรมด้วยภาษาสคริปต์

24

Scalars และ Arrays

Scalars เป8นต์�วแปรท�&เก3บขี�อม ลเพั�ยงค0าเด้�ยว

strName="Suphakit"

Arrays เป8นต์�วแปรเพั�ยงต์�วเด้�ยวท�&ม�มต์�ท1าให�สามารถุเก3บ

ขี�อม ลได้�หลายค0า strName(3) strName(0)="Suphakit"

Page 25: การเขียนโปรแกรมด้วยภาษาสคริปต์

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 ไบต์�

Page 26: การเขียนโปรแกรมด้วยภาษาสคริปต์

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)

Page 27: การเขียนโปรแกรมด้วยภาษาสคริปต์

27

ร ปแบบการต์�*งช้%&อต์�วแปรBoolean bln blnResultByte byt bytCounterDate (Time) dtm dtmStartDateDouble dbl dblSumError err errCustNameInteger int intAgeLong lng lngSalaryObject obj objRecordsetSingle sng sngAverageString str strName

Page 28: การเขียนโปรแกรมด้วยภาษาสคริปต์

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นต์�น

Page 29: การเขียนโปรแกรมด้วยภาษาสคริปต์

29

ค0าคงท�&เก�&ยวก�บส�

vbBlack &h00 ส�ด้1าvbRed &hFF ส�แด้งvbGreen &hFF00 ส�เขี�ยวvbYellow&hFFFF ส�เหล%องvbBlue &hFF0000 ส�น1*าเง�นvbMagenta &hFF00FF ส�ม0วงvbWhite &hFFFFFF ส�ขีาว

Page 30: การเขียนโปรแกรมด้วยภาษาสคริปต์

30

ค0าคงท�&เก�&ยวก�บว�น

vbSunday 1 ว�นอาท�ต์ย�vbMonday 2 ว�นจ�นทร�vbTuesday 3 ว�นอ�งคารvbWednesday 4 ว�นพั�ธีvbThursday 5 ว�นพัฤห�สบด้�vbFriday 6 ว�นศุ�กร�vbSaturday 7 ว�นเสาร�

Page 31: การเขียนโปรแกรมด้วยภาษาสคริปต์

31

โอเปอเรเต์อร� (Operator)

ทางคณ�ต์ศุาสต์ร� +, -, *, /, ^, \ (หารป6ด้เศุษ), Mod (หารเอา

เฉพัาะเศุษ)

เปร�ยบเท�ยบ =, <>, >, <, >=, <=

ต์รรกศุาสต์ร� Not, And, Or, Xor, Eqv, Imp

ขี�อความ &, +

Page 32: การเขียนโปรแกรมด้วยภาษาสคริปต์

32

ค1าส�&งควบค�มการท1างาน

กล�0มค1าส�&งเพั%&อต์�ด้ส�นใจ If…Then…Else Select…Case

กล�0มค1าส�&งเพั%&อท1างานวนรอบ For…Next For…Each…Next Do…Loop

Page 33: การเขียนโปรแกรมด้วยภาษาสคริปต์

33

If…Then…Else

IF เง%&อนไขี THEN… เขี�ยนโค�ด้ท�&น�&ELSEIF เง%&อนไขี THEN… เขี�ยนโค�ด้ท�&น�&ELSE… เขี�ยนโค�ด้ท�&น�&END IF

Page 34: การเขียนโปรแกรมด้วยภาษาสคริปต์

34

Select…Case

Select Case ต์�วเปร�ยบเท�ยบ Case ค0าท�&จะเปร�ยบเท�ยบ … เขี�ยนโค�ด้ท�&น�& Case ค0าท�&จะเปร�ยบเท�ยบ … เขี�ยนโค�ด้ท�&น�& Case Else … เขี�ยนโค�ด้ท�&น�&End Select

Page 35: การเขียนโปรแกรมด้วยภาษาสคริปต์

35

For…Next

For ต์�วน�บ = ค0าเร�&มต์�น TO ค0าส�ด้ท�าย [Step ค0าท�&เพั�&ม]

… เขี�ยนโค�ด้ท�&น�& [Exit For] … เขี�ยนโค�ด้ท�&น�&Next

Page 36: การเขียนโปรแกรมด้วยภาษาสคริปต์

36

For…Each…Next

For Each ต์�วแปรอ�ล�เมนต์� In ช้%&ออาร�เรย�หร%อคอลเลคช้�น

… เขี�ยนโค�ด้ท�&น�& [Exit For] … เขี�ยนโค�ด้ท�&น�&Next

Page 37: การเขียนโปรแกรมด้วยภาษาสคริปต์

37

Do…Loop

Do [{While | Until} เง%&อนไขี] … เขี�ยนโค�ด้ท�&น�& [Exit Do] … เขี�ยนโค�ด้ท�&น�&Loop

While จะท1างานก3ต์0อเม%&อเง%&อนไขีเป8นจร�งUntil จะท1างานก3ต์0อเม%&อเง%&อนไขีเป8นเท3จ

Page 38: การเขียนโปรแกรมด้วยภาษาสคริปต์

38

Do … เขี�ยนโค�ด้ท�&น�& [Exit Do] … เขี�ยนโค�ด้ท�&น�&Loop [{While | Until} เง%&อนไขี]

Page 39: การเขียนโปรแกรมด้วยภาษาสคริปต์

39

ฟั6งก�ช้�นและโพัซี�เจอร�ในการพั�ฒนาแอพัพัล�เคช้�นจะม�การบ0างแอพัพัล�เคช้�นออกเป8นส0วนย0อย ๆ เร�ยกว0า “โปรแกรมย0อย” เพั%&อท�&จะช้0วยให�การเขี�ยน การแก�ไขี การด้�บ�ก การทด้สอบ

และการด้ แลร�กษาแอพัพัล�เคช้�นได้�สะด้วกขี+*น เพั%&อลด้ความซี1*าซี�อนขีองโค�ด้

โปรแกรมย0อย ๆ ขีอง VBScript แบ0งออกเป8น 2ประเภท ซี�บโพัซี�เจอร� (Sub Procedure) ฟั6งก�ช้�น (Function)

Page 40: การเขียนโปรแกรมด้วยภาษาสคริปต์

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],...)

Page 41: การเขียนโปรแกรมด้วยภาษาสคริปต์

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],...)

Page 42: การเขียนโปรแกรมด้วยภาษาสคริปต์

42

ค1าส�&งท�&ใช้�ในการออกจากซี�บโพัซี�เจอร� Exit Sub

ค1าส�&งท�&ใช้�ในการออกจากฟั6งก�ช้�น Exit Function

Page 43: การเขียนโปรแกรมด้วยภาษาสคริปต์

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

Page 44: การเขียนโปรแกรมด้วยภาษาสคริปต์

44

ขีอบเขีต์ (Scope) ขีองต์�วแปร

Private เป8นการประกาศุต์�วแปร ภายในซี�บโพัซี�เจอร�หร%อฟั6งก�ช้�น จะใช้�ได้�เฉพัาะในซี�บโพัซี�เจอร�หร%อฟั6งก�ช้�นท�&ท1าการประกาศุ

ต์�วแปรเท0าน�*นPublic เป8นการประกาศุต์�วแปรภายนอกซี�บโพัซี�เจอร�หร%อฟั6งก�ช้�น ส0วนใหญ่0จะประกาศุไว�ส0วนบนขีอง ASP Page ต์�วแปรน�*จะสามารถุใช้�ได้�ในท�ก ๆ ท�&ใน ASP Page ซี+&ง

รวมถุ+งท�กซี�บโพัซี�เจอร� และท�กฟั6งก�ช้�น

Page 45: การเขียนโปรแกรมด้วยภาษาสคริปต์

45

ฟั6งก�ช้�นเบ%*องต์�นขีอง VBScript

ฟั6งก�ช้�นเก�&ยวก�บขี�อความฟั6งก�ช้�นเก�&ยวก�บต์�วเลขีฟั6งก�ช้�นเก�&ยวก�บว�นท�&และเวลาฟั6งก�ช้�นท�&ใช้�แปลงระหว0างต์�วแปรต์0างช้น�ด้ก�น

Page 46: การเขียนโปรแกรมด้วยภาษาสคริปต์

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, เปร�ยบเท�ยบแบบขี�อความ

Page 47: การเขียนโปรแกรมด้วยภาษาสคริปต์

47

การต์�ด้ค1าในขี�อความ Left(string, length) Mid(string, start[,length]) Right(string, length) โด้ยท�&

string ขี�อความท�&ต์�องการต์�ด้ค1า start ต์1าแหน0งเร�&มต์�น length จ1านวนต์�วอ�กษรท�&ต์�องการต์�ด้ค1า

Page 48: การเขียนโปรแกรมด้วยภาษาสคริปต์

48

การกระท1ารห�ส ASCII Asc(string) ใช้�แสด้งรห�ส ASCII ขีองต์�วอ�กษร Chr(charcode) ใช้�แสด้งอ�กษรต์ามรห�ส ASCII

การต์�ด้ช้0องว0างในขี�อความท�*ง LTrim(string) RTrim(string) Trim(string)

Page 49: การเขียนโปรแกรมด้วยภาษาสคริปต์

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)

Page 50: การเขียนโปรแกรมด้วยภาษาสคริปต์

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นเลขีฐานส�บหก

Page 51: การเขียนโปรแกรมด้วยภาษาสคริปต์

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)

Page 52: การเขียนโปรแกรมด้วยภาษาสคริปต์

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นว�นอะไรขีองส�ปด้าห�

Page 53: การเขียนโปรแกรมด้วยภาษาสคริปต์

53

เก�&ยวขี�องก�บเวลา Time แสด้งเวลาป6จจ�บ�นขีองเคร%&อง Hour(time) แสด้งส0วนขีองช้�&วโมง -023 Minute(time) แสด้งส0วนขีองนาท� -059 Second(time) แสด้งส0วนขีองว�นาท� -059

เก�&ยวขี�องก�บว�นท�&และเวลา Now แสด้งว�นท�&และเวลาป6จจ�บ�นขีองเคร%&อง

Page 54: การเขียนโปรแกรมด้วยภาษาสคริปต์

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

Page 55: การเขียนโปรแกรมด้วยภาษาสคริปต์

55

InputBox

InputBox (prompt [,title] [,default] [,xpos] [,ypos]) Prompt ค%อขี�อความท�&จะปรากฏิ์ในอ�นพั�ต์บ3อกซี� Title ค%อขี�อความท�&จะปรากฏิ์บนไต์เต์�*ลบาร�ขีองอ�นพั�ต์บ3อกซี� Default ค%อการก1าหนด้ค0าเร�&มต์�น Xpos ก1าหนด้ต์1าแหน0งในแนวนอน (พั�กเซีล ) โด้ยเร�&มจาก

ซี�ายขีองจอ Ypos ก1าหนด้ต์1าแหน0งในแนวต์�*ง (พั�กเซีล ) โด้ยเร�&มจากด้�าน

บนขีองจอ

Page 56: การเขียนโปรแกรมด้วยภาษาสคริปต์

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