1. Giới thiệu về AutoIt. Lịch sử phát triển
AutoIt là gì? Nó có được coi là một ngôn ngữ lập trình ko? Đó là câu hỏi thường được nhắc đi nhắc lại.
AutoIt là một ngôn ngữ dễ học, dễ sử dụng, giúp người dùng có thể thực thi những công việc mình thường phải làm trên máy tính một cách tự động. Bằng cách giả lập các phím bấm, các nút click chuột, cùng với khả năng tương tác với các cửa sổ, các chương trình, các file trong máy tính… AutoIt có thể làm được rất nhiều việc. Nhỏ, nhẹ, thậm chí có thể ko cần cài đặt, khả năng tương thích cao (từ Win 95 đến Windows 7) và khả năng xuất ra file exe đã khiến AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.
Riêng ở VN, AutoIt được biết đến thông qua hàng loạt những “virus” phát tán qua YM Có thể nói đây là một “hướng đi” khác của các chương trình viết bằng AutoIt, góp phần ko nhỏ khiến cho ngày càng nhiều các công cụ anti-virus nhận diện chương trình viết bằng AutoIt là virus, bất luận mục đích thực sự của những chương trình này là tốt hay xấu.
Ban đầu, các file mã nguồn AutoIt mang đuôi .ini (AutoIt 1), sau chuyển sang .aut (AutoIt 2) và giờ là .au3 (AutoIt 3). Mã nguồn chương trình AutoIt từ chỗ khá rắc rối (phiên bản 2) đã trở nên cực kỳ đơn giản và dễ hiểu (phiên bản 3), do khá gần gũi với ngôn ngữ BASIC. Cũng nên nói thêm một chút, trong quá trình đi từ AutoIt 2 lên AutoIt 3, một lập trình viên trong nhóm phát triển AutoIt đã quyết định tách ra thực hiện một dự án mới, mang lại nhiều tính năng mạnh mẽ thậm chí còn hơn AutoIt – tuy vậy cú pháp ngôn ngữ này cực kỳ phức tạp và khó hiểu, ko trong sáng như AutoIt 3.
AutoIt có thể được tải về từ trang chủ [You must be registered and logged in to see this link.]
2. Những công cụ cần dùng để viết các chương trình bằng AutoIt
Hiển nhiên, trước tiên bạn cần có AutoIt.
AutoIt được phân phối ở 2 dạng: Installer và ZIP. Phiên bản mới nhất là 3.3.6.1.
Ở dạng Installer, bạn sẽ download về một file exe: [You must be registered and logged in to see this link.] – bộ cài của AutoIt. Download bộ cài đồng nghĩa với việc bạn sẽ có thêm nhiều tiện ích khi sử dụng AutoIt. Ví dụ, khi bạn kích chuột phải vào 1 file .au3, sẽ có tùy chọn cho phép bạn chạy script / sửa script bằng editor…
Còn dạng ZIP (SFX): [You must be registered and logged in to see this link.] – dạng này cho phép bạn sử dụng AutoIt ở bất cứ đâu mà ko cần phải cài đặt (tạo rác trong registry). Đây chính là bản portable mà bạn có thể đặt trong USB stick của mình
Để soạn thảo file .au3, bạn có thể dùng bất cứ trình soạn thảo nào, thậm chí là Notepad của Windows Nếu muốn pzo hơn, có tính năng highlight code, chạy thử code bằng cách bấm F5… bạn có thể sử dụng SciTE. SciTE đã được tích hợp sẵn trong bản Installer: [You must be registered and logged in to see this link.]
Hoặc, bạn có thể dùng Textpad, Crimson Editor hay PSPad để viết các chương trình AutoIt. Các file syntax dành cho 3 trình soạn thảo này được kèm trong thư mục Extras\Editors của AutoIt.
Sau khi tiến hành cài đặt / giải nén AutoIt, bạn sẽ thấy một số file quan trọng nằm trong thư mục này và các thư mục con:
* AutoIt3.exe – Công cụ dùng để chạy các mã nguồn viết bằng AutoIt
* Aut2Exe.exe – Công cụ biên dịch file .au3 thành .exe để phân phối
* Exe2Aut.exe – Công cụ dịch ngược file .exe (viết bằng AutoIt – hiển nhiên) về .au3
* Au3Info.exe – Công cụ cho biết thông tin về các cửa sổ trên màn hình
Còn khá nhiều file khác, tuy nhiên trên đây là những công cụ cần thiết nhất.
3. Ngôn ngữ AutoIt qua cái nhìn khái quát
Làm thế nào để biết cách sử dụng và làm chủ sức mạnh của AutoIt?
Câu trả lời hết sức đơn giản: Tham khảo file Help + Forum của AutoIt.
Tất cả những j` cần thiết đều đã được trình bày một cách kỹ càng và đầy đủ trong file Help của AutoIt. Ở đây sẽ chỉ dẫn ra những điểm quan trọng nhất về ngôn ngữ AutoIt.
3.1. Cấu trúc file .au3
Một file script viết bằng AutoIt có định dạng .au3
File au3 này bao gồm các dòng lệnh, ví dụ như sau:
; This is my second script (with functions)
[You must be registered and logged in to see this link.](0, "My second script!", "Hello from the main script!")
TestFunc()
[You must be registered and logged in to see this link.] TestFunc()
[You must be registered and logged in to see this link.](0, "My Second Script!", "Hello from the functions!")
[You must be registered and logged in to see this link.]
Như bạn có thể thấy, dòng đầu tiên là một chú thích, được đặt sau dấu ;. Nếu chú thích dài nhiều dòng, bạn có thể đặt trong khối #cs – #ce:
#cs
Comment goes here
Line 1
Line 2
#ce
3.2. Biến trong AutoIt
Trong AutoIt, các biến bắt đầu bằng dấu $, giống như ngôn ngữ PHP. Biến có thể được khai báo bằng các từ khóa Dim, Local hay Global và không có xác định kiểu dữ liệu trước.
[You must be registered and logged in to see this link.] $var1, $myvariable
Hoặc, bạn có thể dùng trực tiếp biến mà ko cần khai báo:
$var1 = "create and assign"
AutoIt hiển nhiên cũng hỗ trợ mảng nhiều chiều. Bạn chỉ việc sử dụng chúng cùng với chỉ số đặt trong dấu ngoặc vuông. Ví dụ:
$Array[1]="A"
$Array[1][1]="Upper-Left"
3.3. Các kiểu dữ liệu
AutoIt gồm các kiểu dữ liệu: Số; Xâu (hay chuỗi); Logic; Xâu nhị phân.
Dữ liệu kiểu số có thể là số nguyên (10, -6) hay số thực (3.334, 1.4e5) hay thậm chí ở dạng Hex (0×4FFFF, 0×409 – bắt đầu bằng 0x)
Dữ liệu kiểu xâu (chuỗi) được đặt trong dấu nháy đơn / nháy kép:
'This "sentence" contains "lots" of "double-quotes" does it not?'
Dữ liệu kiểu logic có 1 trong 2 giá trị: true hoặc false:
$Boolean1 = [You must be registered and logged in to see this link.]
$Boolean2 = [You must be registered and logged in to see this link.]
Cuối cùng, kiểu xâu nhị phân là xâu bao gồm ký tự chr(0):
$bin = "abc" & [You must be registered and logged in to see this link.](0) & "def"
$bin = BinaryString("abc")
3.4. Các toán tử
Cũng như các ngôn ngữ lập trình khác, AutoIt có các toán tử quen thuộc: +, -, *, /, ^…
Hoàn toàn có thể sử dụng các toán tử như +=, -=, *=, /=
Với kiểu logic, AND, OR và NOT là các toán tử hợp lệ.
3.5. Cấu trúc điều khiển
Có 3 loại cấu trúc điều khiển trong AutoIt:
[You must be registered and logged in to see this link.] ($var) [You must be registered and logged in to see this link.](4096,"", "Value might be hexadecimal!")
[You must be registered and logged in to see this link.](4096,"", "Value is either a string or is zero.")
[You must be registered and logged in to see this link.]
Cấu trúc Select…Case sử dụng trong trường hợp cấu trúc If trở nên rườm rà:
[You must be registered and logged in to see this link.] $var = 1
[You must be registered and logged in to see this link.](0, "", "First Case expression was true")
[You must be registered and logged in to see this link.] $var2 = "test"
[You must be registered and logged in to see this link.](0, "", "Second Case expression was true")
[You must be registered and logged in to see this link.](0, "", "No preceding case was true!")
[You must be registered and logged in to see this link.]
Cấu trúc Switch…Case…EndSwitch hoàn toàn tương tự, tuy nhiên nó tiến bộ ở chỗ cho phép bạn chỉ rõ khoảng giá trị cần kiểm tra:
[You must be registered and logged in to see this link.] 6 [You must be registered and logged in to see this link.] 11
$msg = "Good Morning"
[You must be registered and logged in to see this link.] 12 [You must be registered and logged in to see this link.] 17
$msg = "Good Afternoon"
[You must be registered and logged in to see this link.] 18 [You must be registered and logged in to see this link.] 21
$msg = "Good Evening"
[You must be registered and logged in to see this link.]
$msg = "What are you still doing up?"
[You must be registered and logged in to see this link.]
1. Giới thiệu về AutoIt. Lịch sử phát triển
AutoIt là gì? Nó có được coi là một ngôn ngữ lập trình ko? Đó là câu hỏi thường được nhắc đi nhắc lại.
AutoIt là một ngôn ngữ dễ học, dễ sử dụng, giúp người dùng có thể thực thi những công việc mình thường phải làm trên máy tính một cách tự động. Bằng cách giả lập các phím bấm, các nút click chuột, cùng với khả năng tương tác với các cửa sổ, các chương trình, các file trong máy tính… AutoIt có thể làm được rất nhiều việc. Nhỏ, nhẹ, thậm chí có thể ko cần cài đặt, khả năng tương thích cao (từ Win 95 đến Windows 7) và khả năng xuất ra file exe đã khiến AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.
Riêng ở VN, AutoIt được biết đến thông qua hàng loạt những “virus” phát tán qua YM Có thể nói đây là một “hướng đi” khác của các chương trình viết bằng AutoIt, góp phần ko nhỏ khiến cho ngày càng nhiều các công cụ anti-virus nhận diện chương trình viết bằng AutoIt là virus, bất luận mục đích thực sự của những chương trình này là tốt hay xấu.
Ban đầu, các file mã nguồn AutoIt mang đuôi .ini (AutoIt 1), sau chuyển sang .aut (AutoIt 2) và giờ là .au3 (AutoIt 3). Mã nguồn chương trình AutoIt từ chỗ khá rắc rối (phiên bản 2) đã trở nên cực kỳ đơn giản và dễ hiểu (phiên bản 3), do khá gần gũi với ngôn ngữ BASIC. Cũng nên nói thêm một chút, trong quá trình đi từ AutoIt 2 lên AutoIt 3, một lập trình viên trong nhóm phát triển AutoIt đã quyết định tách ra thực hiện một dự án mới, mang lại nhiều tính năng mạnh mẽ thậm chí còn hơn AutoIt – tuy vậy cú pháp ngôn ngữ này cực kỳ phức tạp và khó hiểu, ko trong sáng như AutoIt 3.
AutoIt có thể được tải về từ trang chủ AutoItScript
2. Những công cụ cần dùng để viết các chương trình bằng AutoIt
Hiển nhiên, trước tiên bạn cần có AutoIt.
AutoIt được phân phối ở 2 dạng: Installer và ZIP. Phiên bản mới nhất là 3.3.6.1.
Ở dạng Installer, bạn sẽ download về một file exe: autoit-v3-setup.exe – bộ cài của AutoIt. Download bộ cài đồng nghĩa với việc bạn sẽ có thêm nhiều tiện ích khi sử dụng AutoIt. Ví dụ, khi bạn kích chuột phải vào 1 file .au3, sẽ có tùy chọn cho phép bạn chạy script / sửa script bằng editor…
Còn dạng ZIP (SFX): autoit-v3-sfx.exe – dạng này cho phép bạn sử dụng AutoIt ở bất cứ đâu mà ko cần phải cài đặt (tạo rác trong registry). Đây chính là bản portable mà bạn có thể đặt trong USB stick của mình
Để soạn thảo file .au3, bạn có thể dùng bất cứ trình soạn thảo nào, thậm chí là Notepad của Windows Nếu muốn pzo hơn, có tính năng highlight code, chạy thử code bằng cách bấm F5… bạn có thể sử dụng SciTE. SciTE đã được tích hợp sẵn trong bản Installer: autoit-v3-setup.exe
Hoặc, bạn có thể dùng Textpad, Crimson Editor hay PSPad để viết các chương trình AutoIt. Các file syntax dành cho 3 trình soạn thảo này được kèm trong thư mục Extras\Editors của AutoIt.
Sau khi tiến hành cài đặt / giải nén AutoIt, bạn sẽ thấy một số file quan trọng nằm trong thư mục này và các thư mục con:
* AutoIt3.exe – Công cụ dùng để chạy các mã nguồn viết bằng AutoIt
* Aut2Exe.exe – Công cụ biên dịch file .au3 thành .exe để phân phối
* Exe2Aut.exe – Công cụ dịch ngược file .exe (viết bằng AutoIt – hiển nhiên) về .au3
* Au3Info.exe – Công cụ cho biết thông tin về các cửa sổ trên màn hình
Còn khá nhiều file khác, tuy nhiên trên đây là những công cụ cần thiết nhất.
3. Ngôn ngữ AutoIt qua cái nhìn khái quát
Làm thế nào để biết cách sử dụng và làm chủ sức mạnh của AutoIt?
Câu trả lời hết sức đơn giản: Tham khảo file Help Forum của AutoIt.
Tất cả những j` cần thiết đều đã được trình bày một cách kỹ càng và đầy đủ trong file Help của AutoIt. Ở đây sẽ chỉ dẫn ra những điểm quan trọng nhất về ngôn ngữ AutoIt.
3.1. Cấu trúc file .au3
Một file script viết bằng AutoIt có định dạng .au3
File au3 này bao gồm các dòng lệnh, ví dụ như sau:
; This is my second script (with functions)
MsgBox(0, "My second script!", "Hello from the main script!")
TestFunc()
Func TestFunc()
MsgBox(0, "My Second Script!", "Hello from the functions!")
EndFunc
Như bạn có thể thấy, dòng đầu tiên là một chú thích, được đặt sau dấu ;. Nếu chú thích dài nhiều dòng, bạn có thể đặt trong khối #cs – #ce:
#cs
Comment goes here
Line 1
Line 2
#ce
3.2. Biến trong AutoIt
Trong AutoIt, các biến bắt đầu bằng dấu $, giống như ngôn ngữ PHP. Biến có thể được khai báo bằng các từ khóa Dim, Local hay Global và không có xác định kiểu dữ liệu trước.
Dim $var1, $myvariable
Hoặc, bạn có thể dùng trực tiếp biến mà ko cần khai báo:
$var1 = "create and assign"
AutoIt hiển nhiên cũng hỗ trợ mảng nhiều chiều. Bạn chỉ việc sử dụng chúng cùng với chỉ số đặt trong dấu ngoặc vuông. Ví dụ:
$Array[1]="A"
$Array[1][1]="Upper-Left"
3.3. Các kiểu dữ liệu
AutoIt gồm các kiểu dữ liệu: Số; Xâu (hay chuỗi); Logic; Xâu nhị phân.
Dữ liệu kiểu số có thể là số nguyên (10, -6) hay số thực (3.334, 1.4e5) hay thậm chí ở dạng Hex (0×4FFFF, 0×409 – bắt đầu bằng 0x)
Dữ liệu kiểu xâu (chuỗi) được đặt trong dấu nháy đơn / nháy kép:
'This "sentence" contains "lots" of "double-quotes" does it not?'
Dữ liệu kiểu logic có 1 trong 2 giá trị: true hoặc false:
$Boolean1 = true
$Boolean2 = false
Cuối cùng, kiểu xâu nhị phân là xâu bao gồm ký tự chr(0):
$bin = "abc" & chr(0) & "def"
$bin = BinaryString("abc")
3.4. Các toán tử
Cũng như các ngôn ngữ lập trình khác, AutoIt có các toán tử quen thuộc: , -, *, /, ^…
Hoàn toàn có thể sử dụng các toán tử như =, -=, *=, /=
Với kiểu logic, AND, OR và NOT là các toán tử hợp lệ.
3.5. Cấu trúc điều khiển
Có 3 loại cấu trúc điều khiển trong AutoIt:
If…ElseIf…Else…EndIf
Select…Case…EndSelect
Switch…Case…EndSwitch
Cấu trúc If…ElseIf…Else…EndIf kiểm tra điều kiện, sau đó thực thi các lệnh:
If StringIsXDigit ($var) Then
MsgBox(4096,"", "Value might be hexadecimal!")
Else
MsgBox(4096,"", "Value is either a string or is zero.")
EndIf
Cấu trúc Select…Case sử dụng trong trường hợp cấu trúc If trở nên rườm rà:
Select
Case $var = 1
MsgBox(0, "", "First Case expression was true")
Case $var2 = "test"
MsgBox(0, "", "Second Case expression was true")
Case Else
MsgBox(0, "", "No preceding case was true!")
EndSelect
Cấu trúc Switch…Case…EndSwitch hoàn toàn tương tự, tuy nhiên nó tiến bộ ở chỗ cho phép bạn chỉ rõ khoảng giá trị cần kiểm tra:
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 still doing up?"
EndSwitch
AutoIt là gì? Nó có được coi là một ngôn ngữ lập trình ko? Đó là câu hỏi thường được nhắc đi nhắc lại.
AutoIt là một ngôn ngữ dễ học, dễ sử dụng, giúp người dùng có thể thực thi những công việc mình thường phải làm trên máy tính một cách tự động. Bằng cách giả lập các phím bấm, các nút click chuột, cùng với khả năng tương tác với các cửa sổ, các chương trình, các file trong máy tính… AutoIt có thể làm được rất nhiều việc. Nhỏ, nhẹ, thậm chí có thể ko cần cài đặt, khả năng tương thích cao (từ Win 95 đến Windows 7) và khả năng xuất ra file exe đã khiến AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.
Riêng ở VN, AutoIt được biết đến thông qua hàng loạt những “virus” phát tán qua YM Có thể nói đây là một “hướng đi” khác của các chương trình viết bằng AutoIt, góp phần ko nhỏ khiến cho ngày càng nhiều các công cụ anti-virus nhận diện chương trình viết bằng AutoIt là virus, bất luận mục đích thực sự của những chương trình này là tốt hay xấu.
Ban đầu, các file mã nguồn AutoIt mang đuôi .ini (AutoIt 1), sau chuyển sang .aut (AutoIt 2) và giờ là .au3 (AutoIt 3). Mã nguồn chương trình AutoIt từ chỗ khá rắc rối (phiên bản 2) đã trở nên cực kỳ đơn giản và dễ hiểu (phiên bản 3), do khá gần gũi với ngôn ngữ BASIC. Cũng nên nói thêm một chút, trong quá trình đi từ AutoIt 2 lên AutoIt 3, một lập trình viên trong nhóm phát triển AutoIt đã quyết định tách ra thực hiện một dự án mới, mang lại nhiều tính năng mạnh mẽ thậm chí còn hơn AutoIt – tuy vậy cú pháp ngôn ngữ này cực kỳ phức tạp và khó hiểu, ko trong sáng như AutoIt 3.
AutoIt có thể được tải về từ trang chủ [You must be registered and logged in to see this link.]
2. Những công cụ cần dùng để viết các chương trình bằng AutoIt
Hiển nhiên, trước tiên bạn cần có AutoIt.
AutoIt được phân phối ở 2 dạng: Installer và ZIP. Phiên bản mới nhất là 3.3.6.1.
Ở dạng Installer, bạn sẽ download về một file exe: [You must be registered and logged in to see this link.] – bộ cài của AutoIt. Download bộ cài đồng nghĩa với việc bạn sẽ có thêm nhiều tiện ích khi sử dụng AutoIt. Ví dụ, khi bạn kích chuột phải vào 1 file .au3, sẽ có tùy chọn cho phép bạn chạy script / sửa script bằng editor…
Còn dạng ZIP (SFX): [You must be registered and logged in to see this link.] – dạng này cho phép bạn sử dụng AutoIt ở bất cứ đâu mà ko cần phải cài đặt (tạo rác trong registry). Đây chính là bản portable mà bạn có thể đặt trong USB stick của mình
Để soạn thảo file .au3, bạn có thể dùng bất cứ trình soạn thảo nào, thậm chí là Notepad của Windows Nếu muốn pzo hơn, có tính năng highlight code, chạy thử code bằng cách bấm F5… bạn có thể sử dụng SciTE. SciTE đã được tích hợp sẵn trong bản Installer: [You must be registered and logged in to see this link.]
Hoặc, bạn có thể dùng Textpad, Crimson Editor hay PSPad để viết các chương trình AutoIt. Các file syntax dành cho 3 trình soạn thảo này được kèm trong thư mục Extras\Editors của AutoIt.
Sau khi tiến hành cài đặt / giải nén AutoIt, bạn sẽ thấy một số file quan trọng nằm trong thư mục này và các thư mục con:
* AutoIt3.exe – Công cụ dùng để chạy các mã nguồn viết bằng AutoIt
* Aut2Exe.exe – Công cụ biên dịch file .au3 thành .exe để phân phối
* Exe2Aut.exe – Công cụ dịch ngược file .exe (viết bằng AutoIt – hiển nhiên) về .au3
* Au3Info.exe – Công cụ cho biết thông tin về các cửa sổ trên màn hình
Còn khá nhiều file khác, tuy nhiên trên đây là những công cụ cần thiết nhất.
3. Ngôn ngữ AutoIt qua cái nhìn khái quát
Làm thế nào để biết cách sử dụng và làm chủ sức mạnh của AutoIt?
Câu trả lời hết sức đơn giản: Tham khảo file Help + Forum của AutoIt.
Tất cả những j` cần thiết đều đã được trình bày một cách kỹ càng và đầy đủ trong file Help của AutoIt. Ở đây sẽ chỉ dẫn ra những điểm quan trọng nhất về ngôn ngữ AutoIt.
3.1. Cấu trúc file .au3
Một file script viết bằng AutoIt có định dạng .au3
File au3 này bao gồm các dòng lệnh, ví dụ như sau:
; This is my second script (with functions)
[You must be registered and logged in to see this link.](0, "My second script!", "Hello from the main script!")
TestFunc()
[You must be registered and logged in to see this link.] TestFunc()
[You must be registered and logged in to see this link.](0, "My Second Script!", "Hello from the functions!")
[You must be registered and logged in to see this link.]
Như bạn có thể thấy, dòng đầu tiên là một chú thích, được đặt sau dấu ;. Nếu chú thích dài nhiều dòng, bạn có thể đặt trong khối #cs – #ce:
#cs
Comment goes here
Line 1
Line 2
#ce
3.2. Biến trong AutoIt
Trong AutoIt, các biến bắt đầu bằng dấu $, giống như ngôn ngữ PHP. Biến có thể được khai báo bằng các từ khóa Dim, Local hay Global và không có xác định kiểu dữ liệu trước.
[You must be registered and logged in to see this link.] $var1, $myvariable
Hoặc, bạn có thể dùng trực tiếp biến mà ko cần khai báo:
$var1 = "create and assign"
AutoIt hiển nhiên cũng hỗ trợ mảng nhiều chiều. Bạn chỉ việc sử dụng chúng cùng với chỉ số đặt trong dấu ngoặc vuông. Ví dụ:
$Array[1]="A"
$Array[1][1]="Upper-Left"
3.3. Các kiểu dữ liệu
AutoIt gồm các kiểu dữ liệu: Số; Xâu (hay chuỗi); Logic; Xâu nhị phân.
Dữ liệu kiểu số có thể là số nguyên (10, -6) hay số thực (3.334, 1.4e5) hay thậm chí ở dạng Hex (0×4FFFF, 0×409 – bắt đầu bằng 0x)
Dữ liệu kiểu xâu (chuỗi) được đặt trong dấu nháy đơn / nháy kép:
'This "sentence" contains "lots" of "double-quotes" does it not?'
Dữ liệu kiểu logic có 1 trong 2 giá trị: true hoặc false:
$Boolean1 = [You must be registered and logged in to see this link.]
$Boolean2 = [You must be registered and logged in to see this link.]
Cuối cùng, kiểu xâu nhị phân là xâu bao gồm ký tự chr(0):
$bin = "abc" & [You must be registered and logged in to see this link.](0) & "def"
$bin = BinaryString("abc")
3.4. Các toán tử
Cũng như các ngôn ngữ lập trình khác, AutoIt có các toán tử quen thuộc: +, -, *, /, ^…
Hoàn toàn có thể sử dụng các toán tử như +=, -=, *=, /=
Với kiểu logic, AND, OR và NOT là các toán tử hợp lệ.
3.5. Cấu trúc điều khiển
Có 3 loại cấu trúc điều khiển trong AutoIt:
- If…ElseIf…Else…EndIf
- Select…Case…EndSelect
- Switch…Case…EndSwitch
[You must be registered and logged in to see this link.] ($var) [You must be registered and logged in to see this link.](4096,"", "Value might be hexadecimal!")
[You must be registered and logged in to see this link.](4096,"", "Value is either a string or is zero.")
[You must be registered and logged in to see this link.]
Cấu trúc Select…Case sử dụng trong trường hợp cấu trúc If trở nên rườm rà:
[You must be registered and logged in to see this link.] $var = 1
[You must be registered and logged in to see this link.](0, "", "First Case expression was true")
[You must be registered and logged in to see this link.] $var2 = "test"
[You must be registered and logged in to see this link.](0, "", "Second Case expression was true")
[You must be registered and logged in to see this link.](0, "", "No preceding case was true!")
[You must be registered and logged in to see this link.]
Cấu trúc Switch…Case…EndSwitch hoàn toàn tương tự, tuy nhiên nó tiến bộ ở chỗ cho phép bạn chỉ rõ khoảng giá trị cần kiểm tra:
[You must be registered and logged in to see this link.] 6 [You must be registered and logged in to see this link.] 11
$msg = "Good Morning"
[You must be registered and logged in to see this link.] 12 [You must be registered and logged in to see this link.] 17
$msg = "Good Afternoon"
[You must be registered and logged in to see this link.] 18 [You must be registered and logged in to see this link.] 21
$msg = "Good Evening"
[You must be registered and logged in to see this link.]
$msg = "What are you still doing up?"
[You must be registered and logged in to see this link.]
1. Giới thiệu về AutoIt. Lịch sử phát triển
AutoIt là gì? Nó có được coi là một ngôn ngữ lập trình ko? Đó là câu hỏi thường được nhắc đi nhắc lại.
AutoIt là một ngôn ngữ dễ học, dễ sử dụng, giúp người dùng có thể thực thi những công việc mình thường phải làm trên máy tính một cách tự động. Bằng cách giả lập các phím bấm, các nút click chuột, cùng với khả năng tương tác với các cửa sổ, các chương trình, các file trong máy tính… AutoIt có thể làm được rất nhiều việc. Nhỏ, nhẹ, thậm chí có thể ko cần cài đặt, khả năng tương thích cao (từ Win 95 đến Windows 7) và khả năng xuất ra file exe đã khiến AutoIt trở nên thông dụng và ngày càng được nhiều người biết đến.
Riêng ở VN, AutoIt được biết đến thông qua hàng loạt những “virus” phát tán qua YM Có thể nói đây là một “hướng đi” khác của các chương trình viết bằng AutoIt, góp phần ko nhỏ khiến cho ngày càng nhiều các công cụ anti-virus nhận diện chương trình viết bằng AutoIt là virus, bất luận mục đích thực sự của những chương trình này là tốt hay xấu.
Ban đầu, các file mã nguồn AutoIt mang đuôi .ini (AutoIt 1), sau chuyển sang .aut (AutoIt 2) và giờ là .au3 (AutoIt 3). Mã nguồn chương trình AutoIt từ chỗ khá rắc rối (phiên bản 2) đã trở nên cực kỳ đơn giản và dễ hiểu (phiên bản 3), do khá gần gũi với ngôn ngữ BASIC. Cũng nên nói thêm một chút, trong quá trình đi từ AutoIt 2 lên AutoIt 3, một lập trình viên trong nhóm phát triển AutoIt đã quyết định tách ra thực hiện một dự án mới, mang lại nhiều tính năng mạnh mẽ thậm chí còn hơn AutoIt – tuy vậy cú pháp ngôn ngữ này cực kỳ phức tạp và khó hiểu, ko trong sáng như AutoIt 3.
AutoIt có thể được tải về từ trang chủ AutoItScript
2. Những công cụ cần dùng để viết các chương trình bằng AutoIt
Hiển nhiên, trước tiên bạn cần có AutoIt.
AutoIt được phân phối ở 2 dạng: Installer và ZIP. Phiên bản mới nhất là 3.3.6.1.
Ở dạng Installer, bạn sẽ download về một file exe: autoit-v3-setup.exe – bộ cài của AutoIt. Download bộ cài đồng nghĩa với việc bạn sẽ có thêm nhiều tiện ích khi sử dụng AutoIt. Ví dụ, khi bạn kích chuột phải vào 1 file .au3, sẽ có tùy chọn cho phép bạn chạy script / sửa script bằng editor…
Còn dạng ZIP (SFX): autoit-v3-sfx.exe – dạng này cho phép bạn sử dụng AutoIt ở bất cứ đâu mà ko cần phải cài đặt (tạo rác trong registry). Đây chính là bản portable mà bạn có thể đặt trong USB stick của mình
Để soạn thảo file .au3, bạn có thể dùng bất cứ trình soạn thảo nào, thậm chí là Notepad của Windows Nếu muốn pzo hơn, có tính năng highlight code, chạy thử code bằng cách bấm F5… bạn có thể sử dụng SciTE. SciTE đã được tích hợp sẵn trong bản Installer: autoit-v3-setup.exe
Hoặc, bạn có thể dùng Textpad, Crimson Editor hay PSPad để viết các chương trình AutoIt. Các file syntax dành cho 3 trình soạn thảo này được kèm trong thư mục Extras\Editors của AutoIt.
Sau khi tiến hành cài đặt / giải nén AutoIt, bạn sẽ thấy một số file quan trọng nằm trong thư mục này và các thư mục con:
* AutoIt3.exe – Công cụ dùng để chạy các mã nguồn viết bằng AutoIt
* Aut2Exe.exe – Công cụ biên dịch file .au3 thành .exe để phân phối
* Exe2Aut.exe – Công cụ dịch ngược file .exe (viết bằng AutoIt – hiển nhiên) về .au3
* Au3Info.exe – Công cụ cho biết thông tin về các cửa sổ trên màn hình
Còn khá nhiều file khác, tuy nhiên trên đây là những công cụ cần thiết nhất.
3. Ngôn ngữ AutoIt qua cái nhìn khái quát
Làm thế nào để biết cách sử dụng và làm chủ sức mạnh của AutoIt?
Câu trả lời hết sức đơn giản: Tham khảo file Help Forum của AutoIt.
Tất cả những j` cần thiết đều đã được trình bày một cách kỹ càng và đầy đủ trong file Help của AutoIt. Ở đây sẽ chỉ dẫn ra những điểm quan trọng nhất về ngôn ngữ AutoIt.
3.1. Cấu trúc file .au3
Một file script viết bằng AutoIt có định dạng .au3
File au3 này bao gồm các dòng lệnh, ví dụ như sau:
; This is my second script (with functions)
MsgBox(0, "My second script!", "Hello from the main script!")
TestFunc()
Func TestFunc()
MsgBox(0, "My Second Script!", "Hello from the functions!")
EndFunc
Như bạn có thể thấy, dòng đầu tiên là một chú thích, được đặt sau dấu ;. Nếu chú thích dài nhiều dòng, bạn có thể đặt trong khối #cs – #ce:
#cs
Comment goes here
Line 1
Line 2
#ce
3.2. Biến trong AutoIt
Trong AutoIt, các biến bắt đầu bằng dấu $, giống như ngôn ngữ PHP. Biến có thể được khai báo bằng các từ khóa Dim, Local hay Global và không có xác định kiểu dữ liệu trước.
Dim $var1, $myvariable
Hoặc, bạn có thể dùng trực tiếp biến mà ko cần khai báo:
$var1 = "create and assign"
AutoIt hiển nhiên cũng hỗ trợ mảng nhiều chiều. Bạn chỉ việc sử dụng chúng cùng với chỉ số đặt trong dấu ngoặc vuông. Ví dụ:
$Array[1]="A"
$Array[1][1]="Upper-Left"
3.3. Các kiểu dữ liệu
AutoIt gồm các kiểu dữ liệu: Số; Xâu (hay chuỗi); Logic; Xâu nhị phân.
Dữ liệu kiểu số có thể là số nguyên (10, -6) hay số thực (3.334, 1.4e5) hay thậm chí ở dạng Hex (0×4FFFF, 0×409 – bắt đầu bằng 0x)
Dữ liệu kiểu xâu (chuỗi) được đặt trong dấu nháy đơn / nháy kép:
'This "sentence" contains "lots" of "double-quotes" does it not?'
Dữ liệu kiểu logic có 1 trong 2 giá trị: true hoặc false:
$Boolean1 = true
$Boolean2 = false
Cuối cùng, kiểu xâu nhị phân là xâu bao gồm ký tự chr(0):
$bin = "abc" & chr(0) & "def"
$bin = BinaryString("abc")
3.4. Các toán tử
Cũng như các ngôn ngữ lập trình khác, AutoIt có các toán tử quen thuộc: , -, *, /, ^…
Hoàn toàn có thể sử dụng các toán tử như =, -=, *=, /=
Với kiểu logic, AND, OR và NOT là các toán tử hợp lệ.
3.5. Cấu trúc điều khiển
Có 3 loại cấu trúc điều khiển trong AutoIt:
If…ElseIf…Else…EndIf
Select…Case…EndSelect
Switch…Case…EndSwitch
Cấu trúc If…ElseIf…Else…EndIf kiểm tra điều kiện, sau đó thực thi các lệnh:
If StringIsXDigit ($var) Then
MsgBox(4096,"", "Value might be hexadecimal!")
Else
MsgBox(4096,"", "Value is either a string or is zero.")
EndIf
Cấu trúc Select…Case sử dụng trong trường hợp cấu trúc If trở nên rườm rà:
Select
Case $var = 1
MsgBox(0, "", "First Case expression was true")
Case $var2 = "test"
MsgBox(0, "", "Second Case expression was true")
Case Else
MsgBox(0, "", "No preceding case was true!")
EndSelect
Cấu trúc Switch…Case…EndSwitch hoàn toàn tương tự, tuy nhiên nó tiến bộ ở chỗ cho phép bạn chỉ rõ khoảng giá trị cần kiểm tra:
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 still doing up?"
EndSwitch