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

6 385 6
GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 8 doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

Dim $a=0, $b =2, $c=0 if ($a>0 And $b>0) Or $c=0 Then MsgBox(0,"msg", " Thông điệp 1") if $a>0 And ($b>0 Or $c=0) Then MsgBox(0,"msg", " Thông điệp 2") CÂU LỆNH ĐIỀU KIỆN SELECT Khối lệnh Select thực chất là một dạng khác của If lồng nhau, được dùng như một dạng trình bày có hiệu quả hơn trong việc thẩm định nhiều điều kiện liên tiếp. Dạng tổng quát của Select như sau : Select Case <điều kiện 1> <các câu lệnh> Case <điều kiện 2> <các câu lệnh> Case Else <các câu lệnh> EndSelect Giải thích <điều kiện> : cũng tương tự như khối lệnh If, cũng sử dụng các toán tử so sánh và logic. <các câu lệnh> : có thể là bất cứ lệnh gì, kể cả các khối Select , Switch hay If khác đều được. Case Else : có thể có hoặc không. Hình thức xét điều kiện cũng bắt đầu từ trên xuống. Kiểm tra <điều kiện 1> nếu thỏa thì thực hiện <các câu lệnh> sau nó. Ngược lại, thì xét <điều kiện 2>, <điều kiện 3>, cho đến <điều kiện thứ n>. Nếu không có <điều kiện> nào thỏa thì <các câu lệnh> sau Case Else sẽ được thực thi, nếu như Case Else được thiết lập. Trong trường hợp có nhiều <điều kiện> đúng, thì chỉ <điều kiện> đúng đầu tiên được tìm thấy mới được thi hành. Ví dụ 1 : $s = 3 $n = 5 Select case IsString($s) MsgBox(0,"msg", "$s là chuỗi") Case $n<>0 MsgBox(0,"msg", "$n là số khác 0") Case Else MsgBox(0,"msg", "$s không là chuỗi. $n không là số") EndSelect Hàm IsString xét xem một giá trị nào đó có phải là chuỗi hay không. Nếu đúng trả về 1, ngược lại trả về 0. Ví dụ 2 : ; đoạn mã này cho biết hệ điều hành đang sử dụng $ver = @OSVersion Select Case $ver = "WIN_2008" MsgBox(0,"Version", "Your OS is Win 2008") case $ver = "WIN_VISTA" MsgBox(0,"Version", "Your OS is Win Vista") Case $ver = "WIN_2003" MsgBox(0,"Version", "Your OS is Win 2003") Case $ver = "WIN_XP" MsgBox(0,"Version", "Your OS is Win XP") Case $ver ="WIN_2000" MsgBox(0,"Version", "Your OS is Win 2000") case Else MsgBox(0,"Version", "Your OS is Win 9x") EndSelect CÂU LỆNH SWITCH Không giống như khối lệnh If hay Select thực hiện thẩm định nhiều điều kiện của bài toán. Trong khối lệnh Switch, ứng với một biến cho phép bạn lựa chọn nhiều giá trị hoặc là miền giá trị để làm điều kiện xử lý. Vì vậy mà Switch còn được gọi là lệnh lựa chọn đa nhánh. Thực chất việc xét từng giá trị cho một biến vẫn có thể làm được với hai khối lệnh If hay Select , nhưng ở Switch cách thức làm việc đã được đơn giản để có thể thực hiện nhanh chóng và dễ hiểu hơn. Cú pháp tổng quát : Switch <biến hoặc biểu thức> Case <value1> To <Value2> , < value3> To <value4> , , <value n-1> To <value n> <các câu lệnh> Case <value1> To <Value2> , < value3> To <value4> , , <value n-1> To <value n> <các câu lệnh> Case Else <các câu lệnh> EndSwitch Giải thích Giá trị của <biến hoặc biểu thức> sẽ được lấy và kiểm tra lần lượt theo thứ tự các Case. Khi một giá trị trong Case phù hợp giá trị của <biến hoặc biểu thức> thì các dãy lệnh liên hợp với Case đó được thi hành. Các Case lần lượt được duyệt cho đến khi gặp một Case thỏa điều kiện hoặc từ khóa EndSwitch cùng cấp. Nếu Case Else được chỉ định, thì khi tất cả các Case đều không thỏa, khối lệnh liên kết với Case Else sẽ được thực thi. Chú ý  <value1> To <value2> hoặc <value n-1> To <value n> là một miền giá trị. Nếu bạn không muốn chỉ định các miền giá trị cho Case thì có thể chỉ định những giá trị cụ thể, mỗi giá trị cách nhau bởi dấu phẩy. Từ khóa To và các phần sau nó thì tùy, có thể có hoặc không.  <các câu lệnh> có thể là bất cứ một lệnh gì, thậm chí là nhiều khối Switch lồng nhau. Ví dụ : Đoạn mã sau sẽ lấy giờ của hệ thống và suy ra thời điểm hiện tại trong ngày Switch @HOUR Case 6 To 11 $msg = "Good Morning" Case 12 To 17 $msg = "Good Afternoon" Case 18 To 21 $msg = "Good Evening" Case Else $msg = "What are you doing now ?" EndSwitch MsgBox(0, Default, $msg) CONTINUECASE Theo như mặc định, thì trong khối lệnh Switch và Select sẽ dừng việc kiểm tra điều kiện và kết thúc nếu gặp được một Case trả về giá trị True. Tuy nhiên trong một vài tình huống, bạn lại không muốn kết thúc khối lệnh Select hay Switch khi gặp một trường hợp đúng, bạn muốn nó vẫn thực hiện kiểm tra các Case phía sau để làm một công việc nào đấy. Thông thường, đối với một Case thỏa điều kiện và đang thi hành các lệnh liên kết với nó, thì việc thi hành chỉ dừng lại khi gặp một lệnh Case tiếp theo hoặc lệnh EndSwitch hay EndSelect. Thì ở đây, AutoIt hỗ trợ cho bạn từ khóa ContinueCase để dừng việc thực hiện một Case hiện tại và duyệt đến các lệnh nằm trong Case tiếp theo. Cú pháp : ContinueCase Ví dụ sau sử dụng hàm InputBox và cờ lỗi @error của nó để minh họa việc dùng ContinueCase. $msg = "" $w = InputBox(Default, "Please enter a word.", "", " M", Default, Default, Default, Default, 5) Switch @error Case 2 $msg = "Timeout " ContinueCase Case 1 ; Continuing previous case $msg &= "Cancellation" Case 0 Switch $w . hay không. Nếu đúng trả về 1, ngược lại trả về 0. Ví dụ 2 : ; đoạn mã này cho biết hệ điều hành đang sử dụng $ver = @OSVersion Select Case $ver = "WIN_20 08& quot; MsgBox(0,"Version",. If khác đều được. Case Else : có thể có hoặc không. Hình thức xét điều kiện cũng bắt đầu từ trên xuống. Kiểm tra <điều kiện 1> nếu thỏa thì thực hiện <các câu lệnh> sau nó. Ngược. Select Case $ver = "WIN_20 08& quot; MsgBox(0,"Version", "Your OS is Win 20 08& quot;) case $ver = "WIN_VISTA" MsgBox(0,"Version", "Your OS is Win

Ngày đăng: 03/07/2014, 00:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan