Vũng lặp trong VBScript

Một phần của tài liệu Giáo trình thiết kế web (Trang 107 - 120)

2. Đưa cỏc đoạn Script vào trong trang Web

2.4 Vũng lặp trong VBScript

Khi chúng ta viết code, chúng ta muốn cho phép cùng một khối lệnh chạy một số lần. Chúng ta có thể sử dụng cấu trúc lặp trong code của chúng ta để làm điều này. Trong VBScript chúng ta có bốn vòng lặp:

Vòng lặp For...Next- Lặp 1 khối lệnh trong khi điều kiện đúng(True) hoặc cho đến khi điều kiện còn đúng.

Vòng lặp For Each...Next - Lặp 1 nhúm lệnh cho từng thành phần của 1 mảng hay tập hợp.

Vòng lặp Do...Loop- Lặp 1 khối lệnh trong khi điều kiện đúng(True) hoặc cho đến khi điều kiện còn đúng.

Vòng lặp While...Wend - Thực hiện một dãy lệnh trong khi điều kiện là True.

2.4.1 Vũng lp For...Next

Chúng ta sử dụng câu lệnh For...Next để chạy một khối lệnh, khi chúng ta biết có bao nhiêu lần thực hiện lại khối lệnh đó.

Cú pháp tổng quát:

For biến_đếm = bt_đầu To kết_thúc [Step bước_nhảy] [nhóm_lnh] [Exit For] [nhóm_lnh] Next Thành phần Mô tả

biến_đếm Biến kiểu số dùng nh- bộ đếm lặp. Không đ- ợc dùng biến kiểu mảng.

bắt_đầu Giá ban đầu của biến đếm.

kết_thúc Giá trị cuối cùng của biến đếm.

b- ớc_nhảy Số l- ợng tăng thêm của biến đếm sau mỗi lần lặp.Nếu không chỉ định thì b- ớc nhảy là 1.

nhóm_lệnh 1 hoặc nhiều câu lệnh mà ForNext sẽ thực hiện theo số lần lặp đã chỉ định.

Chúng ta sử dụng một biến đếm để tăng hoặc giảm sau mỗi lần thực hiện vòng lặp, giống nh- thế này:

For i=1 to 10 some code Next

2.4.1.1 T khúa Step

Sử dụng từ khóa Step khi chúng ta muốn tăng hoặc giảm biến đếm bằng giá trị mà chúng ta đã xác định.

For i=2 To 10 Step 2 some code

Next

Để giảm biến đếm, chúng ta phải sử dụng một giá trị của Step là âm. Chúng ta sẽ chỉ ra một giá trị kết thúc nghĩa là giá trị thấp ơn giá trị ban đầu.

Trong ví dụ sau, biến đếm (i) đ- ợc giảm 2 sau mỗi lần lặp.

For i=10 To 2 Step -2 some code

Next

2.4.1.2 Exit a For...Next

Chúng ta có thể thoát khỏi câu lệnh For...Next với từ khóa Exit For.

2.4.1.3 Vũng lặp For Each...Next

Mô tả: Lặp 1 nhóm lệnh cho từng thành phần của 1 mảng hay tập hợp.

Cú pháp For Each thành_phần In nhóm [nhóm_lệnh] [Exit For] [nhóm_lệnh] Next [thành_phần] Thành phần Mô tả

thành_phần Biến dùng để lặp với tất cả các thành phần của tập hợn(collection) hoặc array. đối với collections, thành_phần chỉ có thể là biến

Variant, 1 loại biến Object, or bất kỳ biến Automation object. đối với arrays, thành_phần chỉ có thể là biến Variant.

nhóm Tên của tập hợp object hoặc array.

nhóm_lệnh 1 hoặc nhiều lệnh đ- ợc thực hiện lặp theo từng mục (item) trong nhóm.

Vớ dụ:

dim cars(2) cars(0)="Volvo" cars(1)="Saab"

cars(2)="BMW"

For Each x in cars

document.write(x & "<br />") Next

2.4.2 Vũng lặp Do...Loop

Chúng ta có thể sử câu lệnh Do...Loop để chạy một khối lệnh khi chúng ta không biết bao nhiêu lần lặp. Các khối mã đ- ợc lặp đi lặp lại khi một điều kiện là đúng hay cho đến khi trở thành một điều kiện đúng sự thật.

Cỳ phỏp:

Do [{While | Until} điu_kin]

[khi_lnh] [Exit Do] [khi_lnh] Loop ➢ Hoặc, chỳng ta cú thể dựng cỳ phỏp: Do [khi_lnh] [Exit Do] [khi_lnh]

Loop [{While | Until} điu_kin]

Thành phần Mụ tả

điều_kiện Biểu thức số(numeric) hoặc chuỗi(string) đỳng(True) hoặc sai(False). Nếu điều kiện là Null(khụng cú giỏ trị hợp lệ), điều kiện được xem như False.

khối_lệnh 1 hoặc nhiều lệnh được lặp trong khi điều kiện đứng hoặc đến khi điều kiện đỳng.

L- u ý

✓ Lệnh Exit Do chỉ có thể dùng trong cấu trúc điều khiển Do...Loop để chuyển h- ớng thoát khỏi Do...Loop. Lệnh Exit Do đặt mọi nơi trong

điều kiện (ví dụ, If...Then), Exit Do chuyển điều khiển tức thì cho các lệnh đi ngay sau Loop.

✓ Khi dùng trong nhiều Do...Loop lồng nhau, Exit Do chuyển điều khiển để lặp Do..Loop lồng trên nó 1 cấp.

Ví dụ:

Do Until DefResp = vbNo

MyNum = Int (6 * Rnd + 1) ' Kết sinh ngẫu nhiờn 1 số nguyờn ở giữa 1

và 6.

DefResp = MsgBox (MyNum & " Do you want another number?", vbYesNo)

Loop

Dim Check, Counter

Check = True: Counter = 0 ' Khởi tạo biến. Do ' loop ngoài.

Do While Counter < 20 ' loop trong. Counter = Counter + 1 ' tăng biến đếm. If Counter = 10 Then ' If điều kiện=True... Check = False ' set giỏ trị flag=False.

Exit Do ' Thoỏt loop trong. End If

Loo

Loop Until Check = False

2.4.3 Vũng lặp While...Wend

Thực hiện một dãy lệnh trong khi điều kiện là True.

Cú pháp: While điu_kin [nhóm_lnh] Wend Thành phần Mụ tả

điều_kiện 1 biểu thức số hoặc chuỗi định giỏ True hoặc False. Nếu

điều_kiện là Null, điều_kiện xem như False.

nhúm_lệnh Nhúm lệnh được thực hiện khi điều kiện là True.

Vớ dụ

Dim Counter

Counter = 0 ' Khởi tạo biến.

While Counter < 20 ' Test giỏ trị Counter.

Counter = Counter + 1 ' Tăng Counter.

Alert Counter

Wend 'Kết thúc lặp While khi Counter > 19.

2.4.4 Một số hàm thụng dụng trong VBScript. 2.4.4.1 Hàm Abs(number).

Mô tả: trả về trị tuyệt đối của number

Cú pháp: Abs(number) Ví dụ: Dim MyNumber MyNumber = Abs(50.3) ' Trả về 50.3. MyNumber = Abs(-50.3) ' Trả về 50.3.

2.4.4.2 Hàm CreateObject.

Mô tả: Khởi tạo một đối t- ợng.

Cú pháp:

CreateObject (servername.typename [, location])

Ví dụ:

'Tạo 1 connection:

Set Conn = Server.CreateObject("ADODB.Connection") ‘Mở Excel trong đối tượng Application.

ExcelSheet.Application.Visible = True ' Đ-a text vào ô đầu tiên của sheet.

ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1"

ExcelSheet.SaveAs "C:\DOCS\TEST.XLS" ' L-u sheet. 'Đóng Excel bằng ph-ơng thức Quittrên Application object. ExcelSheet.Application.Quit

Set ExcelSheet = Nothing ' Giải phóng biến đối t-ợng.

2.4.4.3 Hàm CStr

Mụ tả: chuyển biểu thức (expression) sốsang chuỗi.

Cỳ phỏp:

CStr(expression):

Vớ dụ:

Dim MyDouble, MyString

MyDouble = 437.324 ' MyDouble là số thực.

MyString = CStr(MyDouble) ' MyString chứa "437.324" là một chuỗi.

Thành phần Mô tả

servername Phải có. Tên của ứng dụng.

typename Phải có. Kiểu của lớp hay đối t- ợng đ- ợc tạo.

2.4.4.4 hàm Date.

Mụ tả: trả về ngày hiện tại.

Vớ dụ

Dim MyDate

MyDate = Date ' MyDate chứa ngày hiện tại

2.4.4.5 Hàm DateValue.

Mụ tả: trả về ngày từ chuỗi dạng ngày

Cỳ phỏp:

DateValue(strdate):

Vớ dụ:

Dim MyDate

MyDate = DateValue("September 11, 1963") ' Trả về 1 date.

2.4.4.6 Hàm LBound

Mụ tả: Trả về cỡ chiều nhỏ nhất của mảng.

Cỳ phỏp

LBound(arrayname[, dimension])

Thành phần Mụ tả

arrayname Tờn biến mảng

dimension Số thứ tự của chiều được mụ tả trong mảng. Dựng 1 cho chiều thứ nhất, 2 cho chiều thứ hai,... Nếu dimension bỏ qua, mặc nhiờn là 1.

2.4.4.7 Hàm UBound

Mụ tả: Trả về cỡ chiều lớn nhất của mảng.

Cỳ phỏp

UBound(arrayname[, dimension])

Vớ dụ Dim A(100,3,4) 2.4.4.8 Hàm LCase.

Mụ tả: Chuyển chuỗi (string) sang chữ thường.

Cỳ phỏp: LCase(string)Vớ dụ: Dim MyString Dim LCaseString MyString = "VBSCript"

LCaseString = LCase(MyString) ' LCaseString chứa "vbscript"

2.4.4.9 Hàm UCase.

Mụ tả:Chuyển chuỗi (string) sang chữ hoa.

Cỳ phỏp:

UCase(string) Thành

phần Mụ tả

arrayname Tờn biến mảng

dimension Số thứ tự của chiều được mụ tả trong mảng. Dựng 1 cho chiều thứ nhất, 2 cho chiều thứ hai,... Nếu dimension bỏ qua, mặc nhiờn là 1.

Lệnh Giỏ trị trả về

UBound(A, 1) 100

UBound(A, 2) 3

Vớ dụ:

Dim MyString

Dim UCaseString

MyString = "VBSCript"

UCaseString = UCase(MyString) ' UCaseString chứa "VBSCRIPT"

2.4.4.10 Hàm Len

Mụ tả:Trả về độ số lượng ký tự chứa trong chuỗi hoặc biến.

Cỳ phỏp:

Len(String|Varname)

Vớ dụ:

Dim MyString

MyString = Len("VBSCRIPT") ' MyString chứa 8.

2.4.4.11 Hàm LTrim, RTrim, Trim

LTrim(String): trả về chuỗi String nhưng đó cắt bỏ cỏc khoảng trắng trước(bờn trỏi)

chuỗi

RTrim(String): trả về chuỗi String nhưng đó cắt bỏ cỏc khoảng trắng sau(bờn phải)

chuỗi

Trim(String): trả về chuỗi String nhưng đó cắt bỏ cỏc khoảng trắng trước và sau(trỏi &

phải) chuỗi

Vớ dụ:

Dim MyVar

MyVar = LTrim(" vbscript ") ' MyVar chứa "vbscript ". MyVar = RTrim(" vbscript ") ' MyVar chứa " vbscript". MyVar = Trim(" vbscript ") ' MyVar chứa "vbscript".

2.4.4.12 Hàm Mid, Left, Right

Mid(string, start[, length]):

- Trả về chuỗi cắt ra length ký tự từ chuỗi string bắt đầu từ vị trớ start. - Nếu length khụng chỉ ra thỡ lấy đến cuối chuỗi.

Left(String, Length):

- Trả về Length ký tự bờn trỏi của String

Right(String, Length):

- Trả về Length ký tự bờn phảii của String

Vớ dụ:

Dim MyVar

MyVar = Mid("VB Script is fun!", 4, 6) 'MyVar chứa "Script". Dim MyString, LeftString

MyString = "VBSCript"

LeftString = Left(MyString, 3) ' LeftString chứa "VBS". Dim MyString, RightString

MyString = "VBSCript"

2.4.4.13 Hàm Now

Mụ tả:Trả về ngày và giờ hiện tại

Vớ dụ:

Dim MyVar

MyVar = Now ' MyVar chứa ngày và giờ hiện tại.

2.4.4.14 Hàm Space Mụ tả:Trả về 1 chuỗi cú Number ký tự trắng ➢ Cỳ phỏp: Space(Number) Vớ dụ: Dim MyString

MyString = Space(10) ' Trả về 1 chuỗi cú 10 khoảng trắng.

MyString = "Hello" & Space(10) & "World" ' Chốn 10 khoảng trắng giữa 1 chuỗi.

2.4.4.15 Hàm Time:

Mụt tả:Trả về giờ hiện tại.

Vớ dụ:

Dim MyTime

MyTime = Time ' Trả về giờ hiện tại.

2.4.4.16 Hàm TimeValue(Time):

Mụ tả: Trả về giờ từ chuỗi giờ Time

Cỳ phỏp:

TimeValue(Time):

Vớ dụ:

Dim MyTime

MyTime = TimeValue("4:35:17 PM") ' MyTime chứa 4:35:17 PM.

2.4.4.17 Hàm MsgBox

Mụ tả:Hiển thị hộp thoại thụng bỏo, chờ người sử dụng click 1 nỳt và trả về 1 giỏ trị.

Cỳ phỏp

Thiết lập Cỏc đối số thiết lập: Hằng Giỏ trị Mụ tả

vbOKOnly 0 Chỉ hiện nỳt OK.

vbOKCancel 1 Hiện OK và Cancel.

vbAbortRetryIgnore 2 Hiện Abort, Retry, và Ignore.

vbYesNoCancel 3 Hiện Yes, No, và Cancel.

vbYesNo 4 Hiện Yes và No.

vbRetryCancel 5 Hiện Retry và Cancel.

vbCritical 16 Hiện Critical Message icon.

vbQuestion 32 Hiện Warning Query icon.

vbExclamation 48 Hiện Warning Message icon.

vbInformation 64 Hiện Information Message icon.

vbDefaultButton1 0 Giỏ trị thứ 1 mặc nhiờn.

vbDefaultButton2 256 Giỏ trị thứ 2 mặc nhiờn.

vbDefaultButton3 512 Giỏ trị thứ 3 mặc nhiờn.

vbDefaultButton4 768 Giỏ trị thứ 4 mặc nhiờn.

vbApplicationModal 0 Cỏc thức Application

vbSystemModal 4096 Cỏch thức System.

Thành phần Mụ tả

prompt Biểu thức chuỗi dài tối đa 1024 ký tự

1 số chỉđịnh kiểu nỳt. title Chuỗi tiờu đề

helpfile Chỉđịnh file help

Giỏ trị trả về

Hàm MsgBox trả về cỏc giỏ trị sau:

Hằng Giỏ trị Nỳt vbOK 1 OK vbCancel 2 Cancel vbAbort 3 Abort vbRetry 4 Retry vbIgnore 5 Ignore vbYes 6 Yes vbNo 7 No Vớ dụ: Dim MyVar

MyVar = MsgBox ("Hello World!", 65, "MsgBox Example") ' MyVar chứa 1 hoặc 2, ' tựy thuộc nỳt nào được click

Một phần của tài liệu Giáo trình thiết kế web (Trang 107 - 120)

Tải bản đầy đủ (PDF)

(166 trang)