-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlearn_autoit1.au3
More file actions
287 lines (244 loc) · 9.01 KB
/
Copy pathlearn_autoit1.au3
File metadata and controls
287 lines (244 loc) · 9.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
#cs
AUTOIT PROGRAM
Run ('notepad')
WinWaitActive('Untitled - Notepad')
Send('Welcome to J2team')
*Kiểu dữ liệu:
1.number(số)
2.String(chuỗi)- nháy kép hoặc nháy đơn
số nằm trong nháy thì cũng là chuỗi
Trong nháy mà có nháy thì x2 nháy vào hoặc trong nháy kép thì ngoài nháy đơn và ngược lại
3.Boolean(logic)
True or false
số 0 là false còn khác 0 thì sẽ là true
4.Binary(nhị phân)
các byte biểu diện hệ thập lục phân trong 1 biến chuỗi
0x616263
Pointer(con trỏ)
*Biến( Variables)
Mỗi biến bắt đầu bằng dolla: $username,$myEmail...
thêm tùy chọn Autosetoption('mustdeclarevars' 1))
Hằng:Chính là 1 biến nhưng k được thay đổi giá trị sau khi khai báo
Const $Author = 'Venus'
Hằng thì ko được ghi đè, có thể dùng để ghi tên tác giả, cấu hình của chương trình,...
Mảng:Là một biến có nhiều dữ liệu, nhiều phần tử
#include <Array.au3>
Global $member = [1,2,3]
Global $member[] = [1,2,3]
Global $member = [123,'venus',True]
MsgBox(0,0,$member[*] Dùng để lấy phần tử thứ * trong mảng, bắt đầu từ 0
*Macro
Biến được định nghĩa trước bởi autoit cung cấp khả năng truy cập vào các thông tin của hệ thống
Chỉ có thể đọc chứ không ghi đè được
bắt đầu bằng @
Global $path = @ScriptFullPath
MsgBox(0,0,$path)
*Toán tử
là công cụ dùng để thực hiện các phép tình chức năng
1.Toán tử gán giá trị
Global $a = 1
Global $b = 'J2team'
2 Toán tử nối giá trị: &
Global $username = 'Venus'
$username = $username & '-PhamDucDat'
MsgBox(0 ,0 ,$username)
3. Toán tử toán học: +_*/^
Global $sum = 3^2
MsgBox(0,0, $sum)
4. Toán tử so sánh
Global $a = 'ddd', $b = 'ddd'
Global $compare = $a == $b
<> : so sánh khác
>= <= lớn hơn nhỏ hơn bằng
MsgBox(0,0, $compare)
5. Toán tử logic and or not
&& And
|| Or
! Not
6. Toán tử điều kiện
Global $result = (điều kiện)?(Gía trị khi điều kiện đúng) : ( Gía trị khi điều kiện sai)
* Câu điều kiện
1. if ....then
....
else
if < điều kiện> then
thực hiện điều gì đó nếu điều kiện đúng
EndIf
Global $username = 'admin'
Global $password = '121212111'
If $username == 'Venus' And $password == '12121212' Then
MsgBox (0,'comfirm', 'Đăng nhập thành công')
ElseIf $username == 'admin' And $password == '121212' Then
MsgBox (0,0, 'Đã đăng nhập vào tài khoản admin')
Else
MsgBox (0,'comfirm', 'Tên người dùng hoặc mật khẩu không chính xác')
EndIf
2. select case
select
case< điều kiện >
thực hiện điều gì đó nếu điều kiện đúng
..
Endselect
(***)Khi nào dùng ifelse và khi nào dùng select:
if else thì dùng để kiểm tra khi có ít điều kiện
select gùng khi có rất nhiều trường hợp kiểm tra n case
Global $username = 'admin'
Global $password = '121212'
Select
Case $username == 'Venus' And $password == '12121212'
MsgBox (0,0, 'Đăng nhập thành công')
Case $username == 'admin' And $password == '121212'
MsgBox (0,0, 'Đã đăng nhập vào trang quản trị')
Case Else
MsgBox (0,0, 'Tên người dùng hoặc mật khẩu không chính xác')
;thực hiện điều gì đó nếu các điều kiện trên điều sai
EndSelect
3. switch case
Phân biệt switch vs select
là switch có thể kiểm tra được khoảng giá trị
Local $sMsg = ""
Switch @HOUR
Case 6 To 11
$sMsg = "Good Morning"
Case 12 To 17
$sMsg = "Good Afternoon"
Case 18 To 21
$sMsg = "Good Evening"
Case Else
$sMsg = "What are you still doing up?"
EndSwitch
MsgBox(0,"",$sMsg)
4. ternary
<Điều kiện>?<Gía trị khi điều kiện đúng : Gía trị khi điều kiện sai>
Cũng tương tự if else nhưng gọn hơn.
MsgBox(0,0, @HOUR > 24 ? 'Good morning' : 'Good evening')
*Vòng lặp
1. For ... next
Global $color = ['red', 'black', 'green', 'yellow']
;~ For $i = 0 To 9 Step 1
;~ ;các câu lệnh mà bạn muốn thự hiện
;~ ConsoleWrite($i & '.Hello' & @CRLF)
;~ Next
;~ --step là nhảy bao nhiêu bước và có thể nhảy âm
;~ và phải đổi số từ to đến nhỏ
For $i = 0 To 3
ConsoleWrite($color[$i] & @CRLF)
Next
2. While... Wend
Global $member = ['Juno_okyo','James','K-20','Killer','Neo','Hackerz','Viet Thao', 'Su' ]
Global $i = 0
While $i < 8
ConsoleWrite($i & '.' & $member[$i] & @CRLF)
$i+=1
WEnd
Global $password
While $password <> '12345678'
$password = InputBox('Đăng nhập','Vui lòng nhập mật khẩu:')
WEnd
;Câu lệnh ngoài vòng lặp sẽ được thực thi
MsgBox(0, 'Thông báo', 'Đăng nhập thành công')
3. Do... until
Global $member = ['Juno_okyo','James','K-20','Killer','Neo','Hackerz','Viet Thao', 'Su' ]
Global $i = 0
Do
ConsoleWrite($member[$i] & @CRLF)
$i += 1
Until $i = 8
Global $member = ['Juno_okyo','James','K-20','Killer','Neo','Hackerz','Viet Thao', 'Su' ]
Global $i = 0
Do
;Thực hiện các câu lệnh sau cho đến khi i đến 8
MsgBox(0,'Info','Gía trị hiện tại của i là:' & $i)
$i += 1
Until $i = 8
Global $password
Do
$password = InputBox ('Đăng nhập', 'Vui lòng nhập mật khẩu')
;các câu lệnh muốn thực hiện cho đến khi điều kiện chưa đúng
Until $password == '123123123'
;câu lệnh ngoài vòng lặp
MsgBox(0, 'Thông báo',' Đăng nhập thành công!')
4. For ,... In ....Next
Khi làm việc với các phần tử trong mảng
Global $members = ['Juno_okyo','James','K-20','Killer','Neo','Hackerz','Viet Thao', 'Su' ]
For $cac_thanh_vien In $members
ConsoleWrite($cac_thanh_vien & @CRLF)
Next
Global $colors = ['red', 'black', 'green', 'yellow']
For $color In $colors
;Làm gì đó với $color
ConsoleWrite($color & @CRLF)
Next
*Hàm
Là một đoạn mã có thể được gọi từ chương trình để thực hiện một chức năng nào đó
Có 2 loại hàm:
***Hàm dựng sẵn:
MsgBox(0, 'Info', 'Hello world!')
ConsoleWrite('Hello J2TEAM')
ClipPut('Hello Venus')
: ChipPut lưu dữ liệ vào bộ nhớ tạm để paste
***Hàm định nghĩa bởi người dùng được khai báo bằng mệnh đề Function và endFunction
;Hàm này không có tham số và không trả về dữ liệu
Func main()
;trong này là tập hợp các câu lệnh mà hàm sẽ thực thi
Run('notepad')
Sleep(2000)
Send('From j2team with love')
EndFunc
main()
;Đây là hàm có tham số và không trả về dữ liệu
Func sayHello($name)
MsgBox(0, 'Info', 'Hello ' & $name)
EndFunc
sayHello('Juno_okyo')
;Đây là 1 hàm có tham số và có trả về dữ liệu
Func caculator($a,$b)
Return $a + $b
EndFunc
Global $result = caculator (10,16)
MsgBox(0, 'Kết quả là:', $result)
;Đây là hàm không có tham số nhưng có trả về dữ liệu
Func getYear()
Return 'Năm nay là năm: ' & @YEAR
EndFunc
MsgBox(0, 'Info', getYear())
*** Hàm trả về dữ liệu sẽ có return
Các hàm có thể chấp nhận tham số và trả về theo yêu cầu
* Phạm vi của biến
Global có thể truy cập được từ mọi vị trí trong chương trình
Local trong function thì chỉ có thể truy cập được từ bên trong hàm
Global $a = 1234 ;phạm vi toàn bộ chương trình
Func test()
Local $b = 5678 ; phạm vi local nội bộ hàm
Return 'Gía trị của biến a :' & $a & @CRLF & 'Gía trị của biến b là: ' & $b
EndFunc
MsgBox(0, 'Info', 'Gía trị của $b là : ' & $a)
Mẹo: Nếu khai báo biến thì nếu biến trong hàm, câu điều kiện,... thì khai báo local, còn ngoài thì khai báo global
* Chú thích và chỉ thị trong autoit
Mọi dòng chú thích đều được trình biên dịch bỏ qua
Dùng dấu ; hoặc đoạn #cs và #ce
Có thể dùng để tạo phần mô tả author cho chương trình
Chỉ thị nói cho autoit biết chương trình hoạt động theo cách nào đó
Bắt đầu bằng dấu #
#NoTrayIcon ;không hiện icon dưới tasbar khi run
#RequireAdmin ; chạy dưới quyền quản trị viên
MsgBox(0, 0, 'Hello')
Tra chỉ thị bằng cách nhấn F1 tìm directives
#include ; tác dụng định nghĩa thư viện
#include <Array.au3>
Global $color = ['red', 'blue', 'green']
_ArrayDisplay($color)
Có thể khai báo thêm thư viện :
;Khai báo và lưu vào 1 file tên myArray.au3
Func _ArrayShow($array)
For $element In $array
ConsoleWrite($element & @CRLF)
Next
EndFunc
;Gọi về
#include <myArray.au3>
Global $color = ['red', 'blue', 'green']
_ArrayShow($color)
Nếu thu viên arrayShow năm ngoài thư mục vs file gọi về thì phải dẫn đường dẫn tuyệt đối
#ce
MsgBox(0, 'Welcome', 'Hello world')