GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 10 - Pdf 16

FOR IN NEXT
Chức năng của câu lệnh này là liệt kê các phần tử bên trong một mảng hoặc một
tập hợp object (đối tượng) COM (component object model)
Cú pháp
For <var> In <expression>
<các câu lệnh>

Next
Giải thích
<var> : biến sẽ được gán giá trị của từng phần tử trong <expression>
<expression> : một đối tượng COM hoặc một mảng có ít nhất một phần tử.
Chú ý
 Nếu <expression> là một tập hợp object không có phần tử, thì đoạn script
sẽ bỏ qua việc lặp và <var> sẽ chứa một chuỗi rỗng.
 Nếu <expression> không phải là object, cũng không phải là mảng, thì
đoạn script sẽ dừng với một lỗi được thông báo, trừ khi bạn có sử dụng trình
điều khiển COM Error.
 Giả sử trường hợp <expression> bạn dùng là một mảng và bạn có thay
đổi giá trị của các phần tử trong mảng khi For In đang chạy, thì giá trị đó sẽ
không được ánh xạ ngay vào trong mảng. Chỉ khi For In kết thúc thì thay
đổi đó mới có hiệu lực.
 Vòng lặp For In cho phép lồng vào nhau.
Ví dụ 1
Global $array[4]
$array[0]="w"
$array[1]="x"
$array[2]="y"
$array[3]="z"
For $element In $array
MsgBox(0,"Current $array item",$element)
Next

Đoạn mã sau sẽ gọi trình duyệt web Internet Explorer với kích thước cửa sổ là
1024 và 768. Đồng thời truy cập vào trang Google.com
; đoạn mã này sử dụng object theo kiểu thông thường
$object = ObjCreate("InternetExplorer.Application.1")
$object.Visible = 1
$object.Height = 768
$object.Width = 1024
$object.Navigate("http://www.google.com/")
; đoạn mã này sử dụng object với With EndWith để đơn giản mã
lệnh
$object = ObjCreate("InternetExplorer.Application.1")
With $object
.Visible = 1
.Height = 768
.Width = 1024
.Navigate("http://www.google.com/")
EndWith
VÒNG LẶP VÔ TẬN
Trong lập trình, sẽ có không ít tình huống bạn cần xử lý một bài toán, mà giải thuật
bạn cần dùng là một vòng lặp không biết trước số lần lặp. Vì vậy, cách giải quyết
là dùng một vòng lặp vô tận. Thông thường trên windows, cách sử dụng phổ biến
nhất của vòng lặp vô tận là dùng để xử lý giao diện người dùng GUI và các tương
tác trên GUI, phần này được đề cập rõ trong phần tạo giao diện bằng AutoIt (Tham
chiếu GUI) của ebook này.
Để tạo một vòng lặp vô tận cho For, While hay Do thì nguyên tắc chung là làm cho
<điều kiện> của vòng lặp đó luôn luôn thỏa. Cụ thể là :
For $i = 0 To 0 Step

dừng giữa hai lần lặp liên tiếp để tránh quá tải cho CPU. Muốn tạo khoảng
dừng, ta sử dụng câu lệnh Sleep <mili giây> , trong đó 1000 mili giây = 1
giây. Tuy nhiên sẽ làm cho quá trình lặp bị chậm lại, thời gian xử lý sẽ dài
hơn.
Đọc đến đây có lẽ bạn sẽ thắc mắc một điều, làm sao dừng lại vòng lặp vô tận ?
Câu trả lời nằm ngay sau đây.
EXITLOOP
ExitLoop cho phép bạn kết thúc (ngắt) vòng lặp ngay lập tức mà không cần quan
tâm đến điều kiện của vòng lặp. Dạng đầy đủ :
ExitLoop [which loop]
Giải thích
Tham số [which loop] là tùy chọn, có thể có hoặc không. Nếu không được chỉ định
thì mặc định là 1. Chức năng của tham số này cho phép chỉ định vòng lặp nào cần
phải ngắt trong trường hợp có nhiều vòng lặp lồng nhau. Nếu có nhiều vòng lặp
lồng nhau, thì vòng lặp chứa lệnh ExitLoop là vòng lặp cấp 1 (vòng lặp hiện hành),
vòng lặp bao bên ngoài vòng lặp cấp 1 là vòng lặp cấp 2, bao bên ngoài vòng lặp
cấp 2 là vòng lặp cấp 3, Vì vậy nếu [which loop]
= 1 tương ứng với vòng lặp cấp 1 (vòng lặp hiện hành)
= 2 tương ứng với vòng lặp cấp 2
= n tương ứng với vòng lặp cấp n
= 0 hoặc một số âm thì ExitLoop không có tác dụng ngắt.
Chú ý
Sử dụng ExitLoop bên ngoài vòng lặp là không được phép. Cũng tương tự như
vậy, nếu bạn chỉ định cho tham số [which loop] một cấp vòng lặp không có (hiểu
đơn giản là… giả sử như bạn chỉ có vòng lặp cấp 1, nhưng lại dùng ExitLoop 2
hoặc ExitLoop 3 thì tất nhiên sẽ bị báo lỗi)
Ví dụ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status