Danh mục

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

Số trang: 5      Loại file: pdf      Dung lượng: 123.96 KB      Lượt xem: 9      Lượt tải: 0    
10.10.2023

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu giới thiệu về autoit-lập trình trên autoit part 11, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 11Đoạn mã sau minh họa việc dùng ExitLoop cho vòng lặp hiện hành. Vòng lặp vôtận sẽ cho xuất hiện hộp thoại Running sum =... , yêu cầu bạn nhập vào một sốdương để tính tổng, quá trình lặp lại cho đến khi nào bạn nhập một số âm. Kết quảđược thông báo ra màn hình . $sum = 0 While 1 ;use infinite loop since ExitLoop will get called $ans = InputBox(Running sum = & $sum, _ Enter a positive number. (A negative number exits)) If $ans < 0 Then ExitLoop $sum = $sum + $ans WEnd MsgBox(0,The sum was, $sum)Ví dụ bên dưới minh họa việc dùng ExitLoop để ngắt vòng lặp cấp 2 (cụ thể làWhile). Sau khi chạy sẽ có hai lần xuất hiện thông báo trên màn hình. Bạn chú ýcác giá trị $i và $j được thông báo để hiểu cách làm việc. $i = 1 While $i ContinueLoop [which loop]Giải thíchTham số [which loop] của ContinueLoop hoàn toàn như ExitLoop. Cũng có thể cóhoặc không (mặc định là 1 - tức vòng lặp hiện hành). [which loop] bằng n, thì ápdụng cho vòng lặp cấp n. [which loop] bằng 0 hoặc số âm thì ContinueLoop cũngmất tác dụng.Đối với vòng lăp For, ContinueLoop gây ra việc tăng giá trị của biến đếm, thựchiện so sánh với giá trị dừng và chạy các lệnh như bình thường.Đối với vòng lặp While và Do, ContinueLoop cũng bỏ qua các lệnh phía sau nó vàquay trở ra xét điều kiện của vòng lặp.Chú ýCũng như ExitLoop, nếu bạn sử dụng ContinueLoop bên ngoài vòng lặp hoặc chỉđịnh cho tham số [which loop] một vòng lặp không có thì sẽ bị báo lỗi.Ví dụĐoạn mã sau minh họa việc dùng ContinueLoop cho vòng lặp cấp 1. Bảng thôngbáo giá trị $i=2 sẽ không xuất hiện. For $i=1 To 4 If $i=2 Then ContinueLoop MsgBox(0, message, $i = & $i) NextVÒNG LẶP VÔ TẬNTrong 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ậtbạ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ếtlà 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ếnnhấ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ươngtác trên GUI, phần này được đề cập rõ trong phần tạo giao diện bằng AutoIt (Thamchiế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 của vòng lặp đó luôn luôn thỏa. Cụ thể là : For $i = 0 To 0 Step While 1 Do 0 ..... .... ..... WEnd Until 0 NextChú ý Khi bạn muốn sử dụng một vòng lặp vô tận thì nên dùng While... WEnd hoặc Do.. Until vì chúng ngắn gọn hơn For. Vòng lặp While chỉ thực hiện lặp khi trả về True (một giá trị khác 0), cho nên ở đây ta sử dụng một giá trị đại diện là 1 Vòng lặp Do thực hiện lặp khi trả về là False (giá trị 0 - zero), cho nên phần ta sẽ thay bằng số 0 để nó không bao giờ là True. Trong quá trình cho chạy vòng lặp vô tận và xử lý các lệnh một cách liên tục như vậy sẽ làm cho hiệu suất của CPU bị chiếm dụng rất cao, khoảng vài chục % (xem ở thẻ Performance trong Task Manager). Vì vậy, khi sử dụng vòng lặp vô tận bạn phải cẩn thận, và ở vài trường hợp ta cần tạo ra khoảng 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 , 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.EXITLOOPExitLoop 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 quantâm đến điều kiện của vòng lặp. Dạng đầy đủ : ExitLoop [which loop]Giải thíchTham số [which loop] là tùy chọn, có thể có hoặc không. Nếu không được chỉ địnhthì 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ầnphả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ặplồ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ặpcấ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 2hoặc ExitLoop 3 thì tất nhiên sẽ bị báo lỗi)Ví dụĐoạn mã sau minh họa việc dùng ExitLoop cho vòng lặp hiện hành. Vòng lặp vôtận sẽ cho xuất hiện hộp thoại Running sum =... , yêu cầu bạn nhập vào một sốdương để tính tổng, quá trình lặp lại cho đến khi nào bạn nhập một số âm. Kết quảđược thông báo ra màn hình . $sum = 0 While 1 ;use infinite loop since ExitLoop will get called $ans = InputBox(Running sum = & $sum, _ Enter a positive number. (A negative number exits)) If $ans < 0 Then ExitLoop $sum = $sum + $ans WEnd MsgBox(0,The sum was, $sum)Ví dụ bên dưới minh họa việc dùng ExitLoop để ngắt vòng lặp cấp 2 (cụ thể làWhile). Sau khi chạy sẽ có hai lần xuất hiện thông báo trên màn hình. Bạn chú ýcác giá trị $i và $j được thông báo để hiểu cách làm việc. $i = 1 While $i ...

Tài liệu được xem nhiều: