GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 4 pps

6 538 5
GIỚI THIỆU VỀ AUTOIT-Lập Trình Trên AutoIT part 4 pps

Đang tải... (xem toàn văn)

Thông tin tài liệu

Biến là một đại diện cho vùng địa chỉ nào đó trong bộ nhớ, mà ở đó dữ liệu được lưu trữ. Tuy nhiên ở đây ta không đề cập đến vấn đề dữ liệu được chứa trong bộ nhớ như thế nào. Ta chỉ cần biết, biến là một đại diện mang giá trị ta cần tính toán. Trong AutoIt, một biến hợp lệ phải có tên được bắt đầu với ký tự $ và sau đó là các ký tự alpha(a-z, A-Z), ký số (0-9) và dấu gạch dưới _. Ví dụ : $var1 $my_variable $123 $String_temp $abc@ $love.baby > đây là hai biến không hợp lệ Để khai báo một biến, biến đó phải được tạo với một trong các từ khóa Global, Local hay Dim. Các từ khóa này có chức năng giới hạn phạm vi tồn tại và sử dụng của biến. Ví dụ : Global $var1, $title Dim $m, $name  Global: chỉ định khai báo một biến có phạm vi toàn cục. Nghĩa là mọi nơi trong chương trình đều có thể truy xuất, chỉnh sửa nội dung của biến này. Và biến này sẽ tồn tại cho đến khi chương trình thoát ra. Ví dụ : Global $m = "Hello world" MsgBox(0, "MSG", $m) _RepText() MsgBox(0, "MSG", $m) ; định nghĩa hàm Func _RepText() $m &= ", " &$m EndFunc Đầu tiên ta tạo ra một biến $m và cho hiển thị nội dung của nó là " Hello world". Sau đó hàm _RepText() được gọi để lặp lại nội dung của biến $m. Hàm MsgBox thứ hai sẽ hiển thị "Hello world, Hello world". Do $m là biến toàn cục nên ta có thể sửa đổi tùy ý giá trị của nó.  Local: chỉ định khai báo một biến có phạm vi cục bộ. Tức là nó chỉ được phép sử dụng, thao tác ở phạm vi giới hạn trong chương trình, thường là ở bên trong các hàm. Nó sẽ được khởi tạo khi hàm được gọi và sẽ bị hủy khi hàm kết thúc. Những nơi khác trong chương trình không hề biết sự tồn tại của biến Local này. Ví dụ : ; chương trình sau sẽ chạy command line _ExeProg() ; sẽ thực thi cmd Run($prog) ; dòng này sẽ báo lỗi Func _ExeProg() Local $prog = "cmd" Run($prog) EndFunc Trong chương trình trên, sau khi hàm _ExeProg() được gọi và thực hiện xong thì biến cục bộ $prog bị hủy, cho nên lệnh Run($prog) không được thực thi vì $prog bên ngoài không mang một giá trị nào. Nói cách khác $prog bên trong hàm _ExeProg và $prog bên ngoài hoàn toàn khác nhau. Bạn chú ý một điều là, nếu bên trong một hàm, bạn khai báo một biến cục bộ cùng tên với một biến toàn cục thì biến cục bộ sẽ được ưu tiên sử dụng thay vì biến toàn cục. Khi nào tìm hiểu đến phần định nghĩa hàm, bạn sẽ hiểu rõ hơn về biến cục bộ. Vì trong hàm rất thường sử dụng biến local để tính toán, lưu trữ giá trị.  Dim : Tạo ra một biến có phạm vi cục bộ (local) nếu như biến này chưa được khai báo trước đó ở dạng toàn cục (global). Có nghĩa là : Nếu khai báo biến bên ngoài hàm thì nó có phạm vi toàn cục. Ví dụ : ; đoạn mã sau sẽ cho gọi calculator thay vì notepad Dim $p = "notepad" _modify() Run($p) Func _modify() $p = "calc" EndFunc Nếu khai báo bên trong hàm thì phạm vi là cục bộ. Tuy nhiên, nếu biến Dim này cùng tên với một biến Global, thì nội dung của biến Global sẽ bị viết đè. Điều này bạn nên chú ý. Ví dụ : ; đoạn mã này sẽ duyệt thư mục Temp thay vì thư mục Windows Global $explore = "Explorer " & @WindowsDir function() Run($explore) Func function() Dim $explore = "Explorer " & @TempDir EndFunc Trong các ví dụ trên, ta thấy rằng việc khai báo một biến có thể kết hợp với việc khởi tạo giá trị ban đầu cho biến đó. Theo mặc định, nếu bạn không gán giá trị khi khai báo thì biến đó mang giá trị 0 (nếu sử dụng như một kiểu number) hoặc "" (nếu sử dụng như một kiểu string). Dù rằng AutoIt cho phép bạn sử dụng một biến không cần khai báo, nhưng sẽ thật không hay khi chương trình của bạn có nhiều biến được tạo rải-rác ở nhiều nơi. Tính trật tự và thống nhất sẽ không đạt hiệu quả vì bạn khó kiểm soát được các đối tượng của mình trong hàng tá dòng lệnh đan xen nhau. Cũng xin nói thêm, nếu bạn sử dụng một biến không có khai báo trước đó, tùy trường hợp vận dụng, thì hoặc là chương trình sẽ báo lỗi, hoặc là biến đó sẽ được tạo tự động với phạm vi cục bộ (Local). Nếu bạn khai báo một biến Local bên ngoài hàm thì nó vẫn có phạm vi như Global. Khi khai báo một biến, bạn nên chỉ định rõ phạm vi là Local hoặc Global, nên hạn chế dùng Dim. Trừ khi bạn nắm rõ được tất cả các biến trong chương trình của mình, nhằm tránh các lỗi về việc chỉnh sửa dữ liệu không mong muốn có thể xảy ra. KHAI BÁO HẰNG SỐ Hằng số là một biến mang giá trị cố định và giá trị này chỉ được gán một lần khi khởi tạo. Bất kỳ thao tác nào cố gắng thay đổi nội dung của hằng số đều là thao tác không hợp lệ. Việc khai báo hằng số cũng giống như việc khai báo biến, nhưng bạn cần đặt thêm từ khóa Const. sau Dim, Global hoặc Local. Có dạng như sau : Const $pi = 3.14 ; hằng số cục bộ Local $text = "Hello" ; hằng số cục bộ Global Const $e = exp(1) ; hằng số toàn cục Chú ý : bạn không thể khai báo một hằng số trùng tên với một biến đang tồn tại. KHAI BÁO MỘT MẢNG Mảng thực chất là một tập hợp các biến có cùng kiểu dữ liệu được gọi chung bằng một tên. Các biến trong một mảng thường được gọi là "phần tử" và được truy cập đến bởi chỉ mục. Các mảng có thể có một hay nhiều chiều, thông dụng nhất là mảng một chiều (danh sách) và mảng hai chiều (ma trận gồm hàng và cột). MẢNG MỘT CHIỀU (DANH SÁCH) Mảng một chiều là dãy gồm nhiều mục liên tiếp nhau. Bạn cứ hình dung nó như là một cái danh sách. Cũng có số thứ tự, cũng có thông tin (dữ liệu) ứng với thứ tự đó. Hình thức cơ bản cho việc khai báo mảng một chiều là : <scope> <var_name>[<size>]  <scope> : cho biết đây là biến Local, Global hay Dim  <var_name> : là tên biến đại diện cho tất cả các phần tử trong mảng. Tuân thủ theo các qui tắc đặt tên như khai báo biến.  <size> : cho biết có tối đa bao nhiêu phần tử sẽ chứa trong mảng. Ví dụ như, để khai báo một mảng toàn cục có 100 phần tử gọi tên là List và sau đó gán các giá trị cho mảng, ta sử dụng câu lệnh : Error! Global List[100] List[0] = "Ant" List[1] = "Bird" List[2] = "Cat" List[99] = "Zebra" Trong AutoIt, chỉ mục đầu tiên của mảng phải bắt đầu từ 0. Với ví dụ trên, nếu ta dùng List[0], List[1] là ta đang truy cập đến phần tử thứ nhất, thứ hai. Dùng List[99] là ta đang truy cập đến phần tử thứ 100. Việc sử dụng chỉ mục vượt quá chỉ mục tối đa cho phép khi khai báo là không hợp lệ. Muốn lấy một giá trị từ một phần tử trong mảng, ta phải biết được chỉ mục của phần tử chứa giá trị đó. Ví dụ : $animal = $List[2] ; $animal sẽ chứa chuỗi "Cat" MẢNG HAI CHIỀU (MA TRẬN) Một mảng hai chiều chính là một ma trận được tạo thành bởi hàng và cột. Nếu bạn đã biết qua Excel thì bảng tính trong Excel chính là một ma trận. Hình thức chung cho việc khai báo mảng hai chiều cũng tương tự như mảng một chiều, nhưng có thêm việc khai báo chỉ mục thứ hai. Trong mảng hai chiều, chỉ mục thứ nhất cho biết hàng và chỉ mục thứ hai là cột Cụ thể là : <scope> <var_name> [<size_row>][<size_column>] Trong đó : . List[2] = "Cat" List[99] = "Zebra" Trong AutoIt, chỉ mục đầu tiên của mảng phải bắt đầu từ 0. Với ví dụ trên, nếu ta dùng List[0], List[1] là ta đang truy cập đến phần. đó phải được tạo với một trong các từ khóa Global, Local hay Dim. Các từ khóa này có chức năng giới hạn phạm vi tồn tại và sử dụng của biến. Ví dụ : Global $var1, $title Dim $m, $name  Global:. định khai báo một biến có phạm vi cục bộ. Tức là nó chỉ được phép sử dụng, thao tác ở phạm vi giới hạn trong chương trình, thường là ở bên trong các hàm. Nó sẽ được khởi tạo khi hàm được gọi

Ngày đăng: 03/07/2014, 00:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan