HƯỚNG DẪN LẬP TRÌNH AUTOIT BÀI 2: KHAI BÁO, CÁC KIỂU DỮ LIỆU, TOÁN TỬ VÀ MỘT SỐ HÀM CƠ BẢN - LẬP TRÌNH AUTOIT

Latest

Thursday, November 16, 2017

HƯỚNG DẪN LẬP TRÌNH AUTOIT BÀI 2: KHAI BÁO, CÁC KIỂU DỮ LIỆU, TOÁN TỬ VÀ MỘT SỐ HÀM CƠ BẢN

1. Khai báo biến và hằng:
  Cú pháp khai báo:
  Sử dụng các từ khóa dim, local (biến cục bộ), global (biến toàn cục), trước biến sử dụng ký tự $
      dim $a
      local $b
      global $c
      dim $d, $e
      $f = 10
      $g = "Hello World"
      dim $char[6] = ['A','U','T','O','I','T']   //Khai báo mảng có 6 phần tử
 Sử dụng từ khóa Const, Enum để khai báo hằng
      Const $const1 = 1
      Const $const2 = 2
      Enum $const1 = 3
 Để gọi một số hằng có sẵn trong Autoit (gõ @)
     $x = @DesktopHeight (Chiều cao màn hình máy tính của người dùng)
    @ScriptDir (Đường dẫn file đang code)
    @HOUR, @MIN, @SEC (Giờ, phút, giây hiện tại)
    @CrLf  (Lệnh xuống dòng)

2. Các kiểu dữ liệu:
    Trong Autoit chỉ có 1 kiểu dữ liệu gọi là Variant (biến).
    Biến có thể chứa dữ liệu theo kiểu số (number), kiểu chuổi (string), kiểu boolean (True/False), Kiểu nhị phân (Binary), kiểu con trỏ (Pointer).
    Khi tính toán bạn không cần quan tâm đến giới hạn của kiểu dữ liệu. Nếu kết quả là số nguyên thì Autoit sẽ trả về số nguyên, kết quả là số thập phân thì Autoit trả về số thập phân (giá trị lớn nhất có thể (2^64-1)/2, một số hàm chỉ làm việc với  số nguyên 32bit (mang giá trị từ 0 đến 2^32-1) và các số này sẽ được chuyển đổi tự động ví dụ hàm BitAnd.
   Kiểu số - Number: gồm số nguyên, số thực, hệ thập lục phân (hexa).
   Kiểu chuổi - String: Chuổi được thể hiện trong cặp dấu nháy kép "String", hoặc nháy đơn 'String'. Tại sao Autoit lại sử dụng 2 loại dấu nháy này?
Mục đích là để đưa ký tự dấu nháy vào chuổi nhằm mục đích nhấn mạnh 1 đoạn nào trong chuổi.
Ví dụ: ' Lập trình "Autoit" giúp bạn đến gần với công nghệ 4.0, khi mà máy móc làm việc thay con người'.
Ví dụ trên người dùng đã nhấn mạnh "Autoit" trong chuổi câu của họ 
   Kiểu Boolean: Chỉ mang 2 giá trị đúng/sai, các phép toán thường dùng AND, OR, NOT, các biến có giá trị bằng 0 hoặc rỗng mang giá trị False, biến mang giá trị True sẽ mặc định giá trị khi sử dụng các kiểu dữ liệu khác là 1.
Ví dụ: $a = true
           $b = false
           $c = $a + $b   //giá trị của $b3 = 1, vì true = 1, false = 0
  Kiểu nhị phân - Binary: 
 Ví dụ: $a = Binary("Hello")  //giá trị của $a = 0x68656C6C6F

  Kiểu Con trỏ - Pointer: Được lưu ở dạng hexa trong một biến kiểu chuổi, chỉ định vị trí của thành phần dữ liệu nào đó trong bộ nhớ

3. Toán tử : Các toán tử thường dùng như các ngôn ngữ lập trình khác

Toán tử
Mô tả
=
Gán . vd : $var1 = “Hello”
+=
Cộng thêm : $var1 += 3 (tăng giá trị cho biến var1 thêm 3 đơn vị)
- =
Trừ thêm :
*=
Nhân thêm
/ =
Chia thêm
& =
Nối : dim $a
$a = “Auto”
$a &= “ It”      ; kết quả a = “Auto It”
^
Lũy thừa
==
Bằng (đối với chuỗi) : vd :
dim $a
$a = “hello”
if $a == “hello” then exit
end if
< > 
Khác
> 
Lớn hơn
< 
Nhỏ hơn
>=
Lớn hơn hoặc bằng
<=
Nhỏ hơn hoặc bằng
And
Logic và: đúng nếu 2 dk đúng, sai nếu 1 trong 2 sai
Or
Logic hoặc : đúng nếu 1 trong 2 đúng, sai nếu cả hai sai
Not
Logic Không : vd : Không 1 (sai)

4. Hàm, Lệnh: Các cấu trúc hàm thường sử dụng
Msgbox ([kiểu thông báo 0~6],“[Tiêu đề]”,“[Text]”)
Msgbox ([kiểu thông báo 0~6],“[Tiêu đề]”,“[Text]”,2) tắt thông báo sau 2 giây
- Run (“tên chương trình/đường dẫn chương trình”) ; ví dụ notepad
WinWaitActive ( "Tiêu đề chương trình") ;chờ tên chương trình ví dụ "Untitled - Notepad"
- Send("text") ; gửi text đến chương trình
- WinClose ( "Tiêu đề chương trình") ; đóng chương trình ví dụ "Untitled - Notepad"
- $a = inputbox ("Enter to here","Nhập lệnh để mở chương trình : ")
- Điều kiện If .. then ... else ... End if

                        if [dk TRUE] then
                           [lệnh thức hiện nếu dk đúng]
                        else
                           [lệnh thức hiện nếu dk FALSE]

                        Endif

- Switch .... EndSwitch
                       $var = inputbox ("Nhập","Nhập 1 số")  ; Gán var = số bạn chọn
                       Switch Int($var)
                            Case 1 To 10 ; Nếu var từ 1 đến 10
                                   MsgBox(0, "Ví dụ", "Số bạn nhập lớp hơn 1")
                            Case 11 To 20 ; Nếu var từ 11 đến 20
                                   MsgBox(0, "Ví dụ", "Số bạn nhập lớp hơn 10")
                            Case 21 To 30 ;...
                                   MsgBox(0, "Ví dụ", "Số bạn nhập lớp hơn 20")
                            Case 31 To 40 ;..
                                   MsgBox(0, "Ví dụ", "Số bạn nhập lớp hơn 30")
                            Case Else ; Nếu var không nằm trong khoảng trên
                                   MsgBox(0, "Ví dụ", "Số bạn nhập lớp hơn 40 hoặc nhỏ hơn 0")
                       EndSwitch

- Cấu trúc Select … case
                       Select
                            Case  <điều kiện 1>
                                     <các câu lệnh>
                                        ......
                            Case  <điều kiện 2>
                                     <các câu lệnh>
                                       ........
                      Case Else
                                     <các câu lệnh>
                                       ........
                      EndSelect- Cấu trúc vòng lặp
               While <điều kiện>
                          <các câu lệnh>
                              …
               Wend ; kết thúc vòng lặp nếu điều kiện sai

                         <lệnh thực hiện khi điều kiện sai>

               For <$tên biến> = <giá trị đầu> to <giá trị cuối>
                      <lệnh thực hiện>
               Next

                      <lệnh thực hiện khi biến vượt giá trị cuối>

No comments:

Post a Comment