KIỂU DỮ LIỆU
Trong
AutoIt chỉ có một loại dữ liệu gọi là Variant (tạm dịch là
biến).
Một biến có thể chứa dữ liệu theo kiểu chuỗi (string)
hoặc là kiểu số (number) tùy vào tình huống sử dụng. Ví dụ như nếu bạn nhân hai
biến với nhau thì lúc này biến có kiểu number, còn nếu bạn sử dụng phép toán
ghép chuỗi với hai biến thì chúng sẽ được đối xử như các chuỗi ký tự.
Ví
dụ :
10
* 20 sẽ bằng số 200 (* là nhân hai biến với nhau)
10* "20" cũng sẽ bằng số 200
hoặc
"10"
* "20" cũng bằng số 200
10 & 20 sẽ trả về một chuỗi là "1020" (& là
phép toán ghép chuỗi)
Nếu
một chuỗi được sử dụng như một số, một phép gọi hàm Number()nên được thực hiện. Và nếu như
ký tự đầu tiên của chuỗi không phải là một ký số thì sẽ trả về một số 0.
Ví dụ :
10 * "abc" sẽ trả về số 0
10* number("abc") cũng trả về 0
10* number("25ghj") sẽ trả về 250
Nếu
một chuỗi được sử dụng trong kiểu boolean (True/False)
và nó là một chuỗi rỗng "" thì sẽ được xem như bằng 0 (False).
KIỂU SỐ -
NUMBER
Number
có thể là số thập phân như : 3, 5.642 và
-8
cũng
có thể là số thập phân theo dạng khoa học, ví dụ như 1.5e3 sẽ thay cho
1500 (vì 1.5*10^3)
hay
hệ thập lục phân (hexa) : 0x409 hoặc 0xff4a.
Chú
ý :
· Hệ
hexa trong AutoIt phải bắt đầu với 0x và theo
sau là các ký số từ 0 đến 9 hoặc/và các ký tự a, b, c, d, e, f.
· Khi
tính toán các biểu thức số, bạn không cần quan tâm đến việc giới hạn của kiểu dữ
liệu. Nếu kết quả là số nguyên, AutoIt sẽ trả về cho bạn số nguyên. Nếu kết quả
là số thập phân, AutoIt sẽ trả về giá trị thập phân. Ở dạng thập phân, giá trị
lớn nhất có thể chứa là (264 - 1)/2.
· Một
số hàm trong AutoIt chỉ làm việc với số nguyên 32 bit (mang giá trị từ 0 đến
232 -1) và các số này sẽ được chuyển đổi tự động, tùy vào hàm sử
dụng. Ví dụ như BitAnd.
KIỂU CHUỖI -
STRING
Chuỗi
ký tự được rào trong cặp dấu ngoặc kép " " hoặc cặp dấu nháy đơn ' '.
Ví dụ :
"this is a string"
' Welcome to AutoIt ! '
Mặc
dù AutoIt hỗ trợ hai phương thức biểu diễn chuỗi nhưng khi sử dụng bạn phải sử
dụng thống nhất có trật tự, không thể bắt đầu rào chuỗi với dấu ngoặc kép, kết
thúc chuỗi với dấu nháy đơn và ngược lại.
Ví dụ sau cho thấy chuỗi không hợp lệ :
"
doctor
for pc '(sẽ báo lỗi khi chạy)
Tuy
nhiên, trong trường hợp bạn muốn nhấn mạnh một nội dung nào đó trong chuỗi bằng
dấu ngoặc kép hoặc dấu nháy đơn thì AutoIt cũng hỗ trợ việc trộn hai dạng ký tự
này.
Và bạn phải nhớ tính trật tự và đầy đủ trong khi sử
dụng. Ví dụ :
'
It
is a "black" web '
"This "sentence" contains "lots" of "double-quotes".
"
" It 's a dog "
nhưng
'
it 's a dog ' (là một chuỗi bị lỗi)
Một
biến kiểu chuỗi có thể chứa đến 2,147,483,647 ký tự (tương đương với 1651 quyển
sách dày 500 trang, mỗi trang có 40 dòng, mỗi dòng có 65 ký tự)
KIỂU BOOLEAN
Kiểu
boolean chỉ mang hai giá trị đúng hoặc sai
(True/False). Trong nhiều trường hợp sử dụng thì một kiểu boolean trả về False khi giá trị của biến đó là 0 hoặc là chuỗi rỗng "". Tất
cả các trường hợp khác 0 đều được xem như True, theo
mặc định thì True bằng 1. Thông thường, các phép toán logic AND, OR hoặc NOT
thường được dùng với kiểu boolean trong việc thẩm định
điều kiện.
Ví
dụ :
$b1
= true
$b2 = false
$b3 = $b1 And $b2--> ($b3 sẽ bằng False)
$b2 = 5
$b3 = $b1 And $b2--> ($b3 sẽ bằng True)
$b3 = $b1 + $b2 --> ($b3 sẽ bằng 6)
$b3 = NOT $b3 --> ($b3 sẽ bằng 0)
Trong
trường hợp bạn xử lý một biến boolean như một chuỗi thì
:
một
boolean là true sẽ chứa chuỗi "True"
một
boolean là false sẽ chứa chuỗi "False"
ví
dụ :
$b1
= true
$str = "test is : "
$string = $str & $b1 ($string sẽ chứa chuỗi "Test is
: True")
KIỂU NHỊ PHÂN -
BINARY
Kiểu
binary có thể lưu giữ mọi byte giá trị, chúng được chuyển đổi sang dạng hexa khi
lưu trong một biến chuỗi. Ví dụ :
$bin
= Binary("abc")
$str
= string($bin) --> "0x616263"
KIỂU CON TRỎ -
POINTER
Kiểu
con trỏ dùng để lưu trữ địa chỉ bộ nhớ 32 bit hoặc 64 bit tùy vào phiên bản
AutoIt được sử dụng. Thực chất con trỏ là một số nguyên chỉ định vị trí của
thành phần dữ liệu nào đó trong bộ nhớ. Tuy nhiên, khi truy
xuất trong AutoIt thì con trỏ sẽ được lưu ở dạng hexa trong một biến kiểu
chuỗi. Handle (tạm dịch là kênh hay địa chỉ trong bộ nhớ) của cửa sổ được
trả về bởi hàm WinGetHandle là một kiểu con trỏ, mang giá trị ở dạng hexa. Nếu
muốn xem ở dạng thập phân bình thường ta dùng hàm Number .
--------------------------------
Mặc
dù phần này trình bày nhiều kiểu dữ liệu mà AutoIt hỗ trợ nhưng trên thực
tế, bạn chỉ cần quan tâm đến hai kiểu chính đó là
number và string. Đây chính là hai kiểu dữ liệu thường dùng
nhất khi viết script. Các kiểu khác dùng để tham khảo
cho biết chứ thực chất chúng cũng được tạo nên từ hai kiểu trên và thường chúng
ít khi được dùng đến. Nếu bạn đã là một người sành sỏi
về lập trình thì việc này không cần phải bàn.
0 nhận xét