Chun đề ngơn ngữ lập trình AutoIt Trang 152 Tham số title trong hàm là bắt buộc phải có Tham số text và timeout là hai tham số tùy

Một phần của tài liệu Chuyên đề ngôn ngữ lập trình autoit (Trang 152 - 154)

Tham số title trong hàm là bắt buộc phải có. Tham số text và timeout là hai tham số tùy chọn. Trong một số hàm thì tham số text khơng phải là tham số tùy chọn. Nếu bạn khơng muốn sử dụng tham số này, bạn có thể cung cấp nó là “” (chỗi rỗng). Nếu bạn cung cấp tham số chuỗi rỗng thì sẽ cho AutoIt biết rằng bất kì một văn bản nào trong cửa sổ đều là lợp lệ. Thật sự ra bạn nên cung cấp thêm tham số text trong trường hợp hai cửa sổ tạo ra có cùng tiêu đề. Việc cung cấp tham số text cho biết bạn đang muốn dùng cửa sổ nào trong chương trình của mình. Giả sử tơi có hai cửa sổ chương trình Notepad và đánh số nó là cửa sổ 1 và cửa sổ 2. Nếu tơi cung cấp cho các hàm chỉ có tham số title thì làm thế nào AutoIt biết dùng cửa sổ nào trong hàm của mình. Lúc này tham số text sẽ giúp phân biệt hai cửa sổ khác nhau tùy thuộc bạn muốn dùng cửa sổ nào mà thôi. Tham số text là văn bản trong cửa sổ mà AutoIt có thể phát hiện được. Nó thường nằm trong khung chứa văn bản chẳng hạn như hình sau, đó là chuỗi văn bản “Viet Nam que huong toi”.

Tuy nhiên tham số text trong hàm cũng có thể cung cấp là văn bản nằm trên các nút nhấn như “Yes”, “No”, “Next”. Các hộp thoại có chứa các nội dung văn bản như “Are you sure you wish to continue ?” hoặc văn bản nằm trên các control hoặc cũng có thể bạn khơng biết nó có từ đâu.

Điều quan trọng là bạn phải cần biết các tham số title và text mà bạn muốn làm việc với các cửa sổ nào đó.

Bây giờ bạn hãy mở cơng cụ AutoIt Windows Info và chẳng hạn tơi đang tìm thơng tin title và text trong cửa sổ như ở hình trên thì bạn có thể thấy thơng tin mà chương trình cung cấp như sau trong thẻ Summary

Bây giờ giả sử tôi muốn dùng hai tham số title và text trong cửa sổ như trên để cung cấp tham số trong hàm WinWaitActive đã nói ở trên thì tơi gõ như sau :

WinWaitActive(“Untitled – Notepad”, “Viet Nam que huong toi”)

Chun đề ngơn ngữ lập trình AutoIt Trang 153 rộng *.exe mà thơi. Cịn các định dạng khác như *.msi và *.txt thì sao ? rộng *.exe mà thơi. Cịn các định dạng khác như *.msi và *.txt thì sao ?

Nói chung chỉ có một số phần mở rộng của tập tin có thể tự chạy được thôi, chẳng hạn như *.exe, *.bat, *.com, *.pif. Những định dạng khác như *.txt và *.msi thường khởi chạy với một tiến trình khác. Chẳng hạn khi bạn nhấn đối chuột vào một tập tin có phẩn mở rộng *.msi thì trong tiến trình của hệ thống sẽ có thêm tiến trình msiexec.exe sẽ giúp thực thi các tập tin *.msi của bạn. Do đó để khởi chạy tập tin *.msi trong AutoIt, bạn có thể sử dụng dịng lệnh sau :

RunWait(@COMSPEC & “ /c Start myfile.msi”)

Ví dụ : RunWait(@COMSPEC & " /c Start E:\Soft\FRNetUserManual-en.msi") ; khởi chạy tập tin FRNetUserManual-en.msi trong thư mục E:\Soft.

Bạn cũng có thể dùng hàm ShellExcuteWait để thực thi tập tin của bạn. Ví dụ như

ShellExecuteWait("E:\Soft\FRNetUserManual-en.msi")

Ghi chú :

- Hàm RunWait có cơng dụng thực thi một tập tin và tạm dừng đoạn mã lệnh AutoIt đang chạy. Đoạn mã chương trình sẽ chạy tiếp khi tập tin đó khơng cịn chạy nữa.

- Hàm ShellExcuteWait cũng có cơng dụng tương tự như hàm RunWait tuy nhiên nó dùng API ShellExecute để khởi chạy tập tin.

Bạn có thể xem thêm hai hàm này trong tài liệu AutoIt Help để biết rõ hơn. 14. Tơi có thể chạy một lệnh DOS trong AutoIt hay không ?

Nếu bạn muốn chạy một lệnh DOS trong AutoIt chẳng hạn như lệnh “Dir” thì bạn cần phải chạy nó thơng qua bộ thơng dịch lệnh (đó có thể là tập tin command.com hay tập tin cmd.exe tùy thuộc vào hệ điều hành của bạn). Bạn có thể sử dụng macro @Comspec để biết vị trí chính xác của tập tin thơng dịch lệnh này. Bạn nên dùng hàm RunWait để thực thi một lệnh DOS trước khi thực thi các lệnh AutoIt sau lệnh RunWait này. Dưới đây là một ví dụ lệnh Dir.

RunWait(@COMSPEC & " /c Dir C:\") ; Chú ý là có một khoảng trắng trước /c.

15. Tại sao tôi không thể in nội dung của một biến thông qua lệnh “My var is $variable” ?

Nếu bạn có một biến chẳng hạn như $msg và bạn dùng lệnh sau đây để thể hiện nội dung của một biến thì nó sẽ khơng làm việc.

MsgBox(0, "Example", "My variable is $msg")

Nếu bạn dùng lệnh này nó sẽ chỉ hiện thị chuỗi "My variable is $msg". Nếu bạn muốn in nội dung của một biến, bạn phải dùng toán tử & để kết nối giữa chuỗi và biến như sau :

MsgBox(0, "Example", "My variable is " & $msg)

Ghi chú : nếu bạn có nhiều biến và muốn hiển thị nó trong nội dung của một chuỗi, bạn nên dùng hàm StringFormat() để cho tiện. Chẳng hạn nếu bạn muốn chèn nội dung của $var1 đến $var5 trong chuỗi bạn có thể dùng lệnh sau

$msg = StringFormat("Var1 is %s, Var2 is %s, Var3 is %s, Var4 is %s, Var5 is %s", $var1, $var2, $var3, $var4, $var5) ; tham số %s để in theo dạng chuỗi cho biến $var1

đến var5.

MsgBox(0, "Example", $msg)

Hàm StringFormat này tương tự như cú pháp in chuỗi trong C dùng hàm printf. Chọn trình soạn thảo mã lệnh AutoIt nào ?

Các tập tin AutoIt (*.au3) là những tập tin dạng văn bản thơng thường và do đó bạn có thể chỉnh sửa nó bằng một trình soạn thảo văn bản bất kì. Tuy nhiên cũng có nhiều ứng

Một phần của tài liệu Chuyên đề ngôn ngữ lập trình autoit (Trang 152 - 154)

Tải bản đầy đủ (PDF)

(154 trang)