Nơi chia sẽ kiến thức về CNTT
thủ thuật Blogger, thủ thuật AutoIT
Imacross, VBA cho Excel

25 thg 5, 2017

Bài 17: Hàm người dùng trong AutoIT

Hàn người dùng tự định nghĩa trong

Để định nghĩa một hàm, bạn phải tuân thủ các qui tắc mà ngôn ngữ lập trình đó hỗ trợ. Với AutoIt, dạng tổng quát để khai báo và định nghĩa một hàm như sau :

Func  <tên_hàm>( <các tham biến> )                <các lệnh nội bộ>                . . . . .
                Return <giá trị>EndFunc 
Giải thích
Func. . .  EndFunc  :  là hai từ khóa bắt buộc, có nhiệm vụ chỉ ra điểm bắt đầu và kết thúc của một hàm
<tên_hàm>  :  tên đại diện miêu tả ngắn gọn chức năng của hàm
<các tham biến>  :  khai báo một danh sách tên các biến, mỗi biến được ngăn cách với nhau bằng dấu phẩy. Danh sách này sẽ nhận các dữ kiện được truyền vào để hàm xử lý. Một hàm có thể không có <các tham biến>, tức danh sách tham biến sẽ rỗng. Tuy thế, ngay cả khi không có tham biến nào thì bạn vẫn phải đặt dấu ngoặc đơn vào.
<các lệnh nội bộ>  :  ở đây bạn chính là thân của hàm. Bạn có thể thực hiện việc khai báo các biến cục bộ (Local), viết các biểu thức , . . . .
Return <giá trị>  :  tùy chọn, có thể có hoặc không. Nếu như bạn tạo một hàm có trả về một giá trị thì phần này được thêm vào, ngược lại thì không cần. Ví dụ như bạn định nghĩa hàm Sin(x) để tính sin của x, thì khi thực hiện các tính toán xong. Bạn dùng lệnh Return <giá trị> để trả về kết quả vừa tính được cho Sin(x).

Chú ý
Ø       Khi khai báo <các tham biến>, bạn không cần đặt vào từ khóa chỉ phạm vi của biến. Theo mặc định, chúng luôn là cục bộ (local). Thậm chí nếu bạn có chỉ định Dim, Local hay Global thì cũng sẽ bị báo lỗi. Tuy nhiên, hai từ khóa Const, ByRef lại được phép đặt vào phía trước mỗi biến trong danh sách các tham biến để mở rộng chức năng của hàm (xem phần “Truyền dữ kiện cho hàm”).

Ø       Lệnh Return có chức năng chính là chấm dứt ngay quá trình xử lý bên trong hàm và trả về <giá trị> cho hàm (nếu có). Theo mặc định, AutoIt luôn trả về giá trị cho một hàm. Nếu lệnh Return <giá trị> được dùng thì hàm sẽ trả về <giá trị>. Hàm trả về 0 (hoặc “ “ nếu dùng ở string) nếu Return không tồn tại hoặc Return được gọi mà không có phần <giá trị> theo sau.

Ví dụ
Đoạn mã sau thực hiện việc định nghĩa hàm _RepeatText để lặp lại n lần một chuỗi

$str = "abc"$new_str = _RepeatText($str, 10, "")MsgBox(0,"_RepeatText 1", "Source : " & $str & @CRLF & "New string : " & $new_str) $str = "Love"$new_str = _RepeatText($str, 5, " - ")    ; ngăn cách chuỗi bằng " - "MsgBox(0,"_RepeatText 2", "Source : " & $str & @CRLF & "New string : " & $new_str) Func _RepeatText($string, $how_many, $delim)      ; $string sẽ chứa chuỗi dữ kiện được truyền từ ngoài vào      ; $how_many cho biết sẽ lặp lại bao nhiêu lần      ; $delim chỉ định ký tự nào dùng để ngăn cách giữa hai chuỗi được lặp lại      Local $Rep_str =""      For $i=1 To $how_many            $Rep_str &= $string & $delim      Next   
      Return $Rep_strEndFunc

cảm ơn các bạn đã quan tâm 
Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Stumble Upon
  • Share to Evernote
  • Share to Blogger
  • Share to Email
  • Share to Yahoo Messenger
  • More...

0 nhận xét

:) :-) :)) =)) :( :-( :(( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ :-$ (b) (f) x-) (k) (h) (c) cheer

 
© 2016 Blog kiến thức
Designed by blgkienthuc.blogspot.com Cooperated with blgkienthuc.blogspot.com/
Released under Creative Commons
Posts RSSComments RSS
Back to top