intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Asdasdsdqeqwdd Asdasdsadasd | Ngày: | Loại File: PDF | Số trang:5

174
lượt xem
74
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ả

Chủ đề:
Lưu

Nội dung Text: GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 11

  1. Đ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
  2. ContinueLoop [which loop] Giải thích Tham 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ì áp dụng cho vòng lặp cấp n. [which loop] bằng 0 hoặc số âm thì ContinueLoop cũng mấ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ực hiệ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ông bá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) Next 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.
  3. Để 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 Next Chú ý 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.
  4. Đọ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ụ Đ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 .
  5. $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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2