$val = $doubled Next Exit Func MyDouble($value) $value = $value * 2 Return $value EndFunc Ghi chú mỗi câu lệnh được viết trên 1 dòng và không cần kí hiệu kết thúc câu lệnh, nhưng nếu 1 câu lệnh quá dài cần viết trên nhiều dòng để dễ nhìn thì ta có thể sử dụng dấu [_] như sau: MsgBox (4096, "", "dòng này khá dài dòng, vì vậy tôi" & _ "sẽ viết nó trên 2 dòng") để viết ghi chú trên 1 dòng ta dùng dấu [;] tất cả kí tự sau dấu [;] trên 1 dòng sẽ đc coi là ghi chú và ko đc biên dịch trong khi chạy ; Tiếp theo script sẽ tạm dừng 5 giây Sleep (5000) ; tạm dừng 5000 mini giây còn nếu bạn muốn viết ghi chú trên nhiều dòng thì dùng #cs #ce để viết ghi chú trên nhiều dòng tất cả kí tự sau dấu giữa chúng sẽ đc coi là ghi chú và ko đc biên dịch trong khi chạy #cs đây là dòng ghi chú 1 ghi chú 2 ghi chu 3 #ce Sleep (5000) ;tạm dừng 5000 mini giây Bạn có thể kết hợp underscore và chấm phẩy để đưa ý kiến về tuyến đường và vẫn còn có một tuyên bố dài span trên dòng tiếp theo. dim $b_ ; This _ is not a continuation character, nor is the next one dim $k_ Dim $a[8][2] = [ _ [ "Word", 4 ], _ ; Comment 1 [ "Test", 3 ], _ [ "pi", 3.14159], _ ; Associate the name with the value [ "e", 2.718281828465], _ ; Same here [ "test;1;2;3", 123], _ [ ';', Asc(';') ], _ ; This comment is removed, but the strings remain. ["", 0] ] GUI (Giao diện đồ họa) AutoIt có khả năng tạo giao diện đồ họa tương tác với người dùng (GUIs) mà có các cửa sổ và điều khiển. khái niệm GUI GUI bao gồm một hoặc nhiều cửa sổ và mỗi cửa sổ chứa một hoặc nhiều hơn Control Control GUI Tất cả các người dùng đã quen với các Control - bạn nhấp chuột vào bất cứ thứ gì trên hoặc tương tác có trong một cửa sổ là một loại hình Control. Các loại kiểm soát có thể được tạo ra với AutoIt được liệt kê dưới đây: Label (Nhãn) Một ô để hiển thị văn bản Button (Nút) Một nút bấm đơn giản. Input M ộ t dòng nh ậ p vào m ộ t chu ỗ i kí t ự . Edit Môt ô đ ể nh ậ p vào văn b ả n. CheckBox M ộ t h ộ p có th ể đư ợ c "ki ể m tra" hay "b ỏ ". Radio M ộ t b ộ các vòng tròn nút - ch ỉ có th ể là m ộ t Combo M ộ t danh sách v ớ i m ộ t dòng đc ch ọ n. List M ộ t danh sách. Date Ch ọ n ngày. Pic M ộ t b ứ c tranh. Icon M ộ t bi ể u tư ợ ng. Progress M ộ t ti ế n trình. Tab M ộ t nhóm control đư ợ c ch ứ a trong các tab. UpDown Một kiểm soát có thể được thêm vào đầu vào các control. Avi Hi ể n th ị m ộ t đ ị nh d ạ ng AVI clip. Menu M ộ t trình đơn trên phía trên cùng c ủ a c ử a s ổ . ContextMenu Một trình đơn xuất hiện khi bạn phải bấm chuột phải. TreeView M ộ t ki ể m soát theo mô hình cây. Slider Thanh kéo đ ể ch ọ n ListView hi ệ n th ị như listbox nhưng có th ể chia thành nhi ề u c ộ t ListViewItem Một control hiển thị mục trong control listview. Graphic đ ể v ẽ Dummy Dummy Dưới đây là một ví dụ của một cửa sổ GUI có chứa rất nhiều các control có sẵn. Như bạn có thể nhìn thấy nó có thể tạo ra rất chi tiết GUIs! Control được tạo ra với các hàm GUICtrlCreate . Khi một control được tạo ra thì ControlID được trả lại. điều quan trọng cần lưu ý về ControlID là: controlID là một số dương (có nghĩa là, một số lớn hơn 0) Mỗi controlID là duy nhất - ngay cả khi có nhiều cửa sổ controlID thực sự là cùng một giá trị giống như là ControlID đc đọc bởi AutoIt Window Info Tool . Chức năng cơ bản GUI Ch ứ c năng Gi ả i thích GUICreate T ạ o m ộ t c ử a s ổ . GUICtrlCreate T ạ o control khác nhau trong m ộ t c ử a s ổ . GUISetState Hi ể n th ị ho ặ c ẩ n c ử a s ổ . GUIGetMsg trả lại sự kiện sảy ra trên GUI (khi bạn click vào control thì hàm sẽ trả lại controlID) GUICtrlRead Đ ọ c các d ữ li ệ u cho m ộ t Control. GUICtrlSetData Thi ế t l ậ p / thay đ ổ i các d ữ li ệ u cho m ộ t Control. GUICtrlSet Thay đổi các tùy chọn, thuộc tính của control (màu sắc, style, vv) Vd tạo ra 1 cửa sổ với kích thước 200, 100 và có tiêu đề là Hello world khi 1 cửa sổ đc tạo ra thì nó đc ẩn vậy ta cần hiện thị nó lên #include <GUIConstantsEx.au3> GUICreate("Hello World", 200, 100) GUISetState(@SW_SHOW) Sleep(2000) Nếu bạn chạy tập lệnh trên, bạn sẽ nhìn thấy một cửa sổ và sau 2 giây nó tự đóng lại . Không phải rất thú vị hãy thêm vào một số văn bản và một nút bấm OK. Các văn bản sẽ được thêm tại vị trí 30, 10 và tại các nút ở vị trí 70, 50 có độ rộng 60 pixel. #include <GUIConstantsEx.au3> GUICreate("Hello World", 200, 100) GUICtrlCreateLabel("Hello world! How are you?", 30, 10) GUICtrlCreateButton("OK", 70, 50, 60) GUISetState(@SW_SHOW) Sleep(2000) Đó là khá tốt, nhưng làm thế nào để chúng tôi làm cho GUI phản ứng đối với chúng tôi nhấp chuột vào nút? Vâng, đây là nơi mà chúng ta phải thực hiện một quyết định như là làm thế nào để chúng tôi sẽ xử lý các sự kiện - thông qua một MessageLoop hoặc thông qua OnEvent chức năng. sự kiện trên GUI Như đã nói ở trên, có hai chế độ cơ bản GUI: chế độ MessageLoop và chế độ OnEvent . Các chế độ đơn giản chỉ là hai cách khác nhau để phản ứng của các sự kiện GUI. Các chế độ mà bạn chọn sẽ tùy thuộc vào sở thích cá nhân , Và mức độ đối với một số loại hình GUI bạn muốn tạo ra. Cả hai chế độ là bình đẳng với khả năng tạo ra bất kỳ GUI mà bạn muốn nhưng đôi khi là một trong những chế độ chi tiết phù hợp với một công việc khác hơn. Chế độ mặc định là chế độ MessageLoop.Để chuyển sang chế độ OnEvent ta sử dụng Opt("GUIOnEventMode", 1). Chế độ MessageLoop