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