Примечания по использованию UDF

Мы добавили несколько файлов, каждый из которых содержит стандартные функции AutoIt3, так называемых User Defined Functions.
Функции или набор связанных функций UDF написаны на AutoIt3, вы можете добавить их в свой скрипт с помощью #include и пользоваться ими без необходимости написания своих функций или копирования и вставки их каждый раз, когда вы в них нуждаетесь.

Пример:

#include <date.au3>
MsgBox(0,"Сегодня","Текущая дата " & _Now())

Этот скрипт будет отображать текущую дату вашего ПК в полно-форматном виде, например. Воскресенье, 25 Января, 2012 (у меня выдаёт 25.01.2012 20:19:00)

 

Многие функции UDF содержат дополнительные параметры, которые могут быть опущены. Если все же вы хотите указать дополнительные параметры, то все предшествующие слева параметры должны быть указаны.
Возьмём к примеру _ArraySort ( ByRef $a_Array [, $i_Descending [, $i_Base=0 [, $i_Ubound=0 [, $i_Dim=1 [, $i_SortIndex=0 ]]]]] )
Если параметру предшествует ключевое слово ByRef это означает, что переменная будет обновлена операциями с переменной внутри функции (иначе изменения происходят только внутри функции). Параметры с этим ключевым словом должны быть переменными (к примеру $var) и не являться константами или явно указанными значениями.

Большинство функций UDF содержат возвращаемые значения при успешности выполнения функции или при ошибке; другие содержат устанавливаемые флаги ошибок @error. Некоторые и то и другое.
@error = 0 ; всегда указывает на успешное выполнение функции
Возвращаемое значение функции может быть различным, но как правило значение отличное от нуля указывает на успешное выполнение функции, что позволяет легко читать код...

Если функция устанавливает флаг @error, то вы всегда должны проверить его перед использованием возвращаемого значения. Если флаг @error указывает на ошибку, то функция возвращает неопределённое значение, которое может не являться желаемым результатом.