Funkcje w Autoit są kawałkami kodu, który można wywołać podając jego nazwę, deklaruje się je pomiędzy Func a Endfunc.
Func test() ; Kod funkcji Endfunc
Funkcje generalnie wykorzystuje się po to, by nie pisać kilkukrotnie podobnego kodu, ew. podobnego ale o innych parametrach. Redukujemy w ten sposób rozmiar skryptu co znacząco przyczynia się do szybkości jego wykonywania.
Przykład:
Func test() MsgBox(4,"Test","to jest MsgBox wywołany z funkcji") Endfunc
W ten sposób zadeklarowaliśmy funkcję, po uruchomieniu programu jednak nic się nie dzieje – aby wywołać funkcję w autoit wystarczy podać jej nazwę:
test()Func test() MsgBox(4,"Test","to jest MsgBox wywołany z funkcji") Endfunc
Nie ma różnicy, gdzie deklarujemy funkcję – dla naszej wygody najlepiej jest jednak umieścić je na samym dole kodu.
W nawiasie możemy umieścić parametry funkcji, wyjaśnię to na przykładzie:
test("To jest przykład wykorzystania") test("parametru funkcji, oczywiście") test("funkcje nie słuzą tylko do wyświetlania") test("prostych MsgBox'ów ;-)") Func test($text) MsgBox(4,"Test",$text) Endfunc
W ten prosty sposób, nie musimy powtarzać tego samego kawałku kodu (wyświetlanie MsgBox’a) – podaliśmy tylko parametr ( w tym przypadku ciąg znaków), na których funkcja opiera swoje działanie. Oczywiście, funkcja może mieć więcej niż 1 parametr:
dodaj(5,2) Func dodaj($a,$b) $c = $a + $b MsgBox(4,"Suma", $c) Endfunc
Funkcja może zostać również wykorzystana do zwrócenia określonej wartości – służy do tego komenda return, w tym przykładzie funkcja zwraca dzisiejszą datę w formacie mm/dd/yyyy
MsgBox(1, "aktualna data", dzis()) Func dzis() return (@MON & "/" & @MDAY & "/" & @YEAR) Endfunc
Pozostały nam jeszcze 2 funkcje, których nazwy zostały predefiniowane przez Autoit:
OnAutoItExit(parametr) – Ta funkcja zostaje automatycznie wykonana podczas zamykania skryptu.
Parametrem tej funkcji jest cyfra która definiuje kiedy funkcja zostanie wykonana:
0 – Standardowe zamknięcie skryptu.
1 – Gdy skrypt został zakończony przez polecenie Exit
2 – Gdy skrypt został zakończony przez wybranie Exit z tray’a.
3 – Gdy użytkownik się wyloguje.
4 – gdy system windows zostaje wyłączany.
OnAutoItStart() – Funkcja wykonywana jako pierwsza (przed głównym kodem) gdy nasz skrypt został uruchomiony. W przeciwieństwie do OnAutoItExit ten typ funkcji nie posiada parametru.