конечно AutoIT не поддерживает ООП, но язык настолько гибкий, что позваляет сделать надстройку.
Начнем с малого, а иммено создания структур:
Эту заготовку можно расширить и например добавить функции, например объэявлять класс в виде
Чем не простенький ООП ? :IL_AutoIt_1:
Начнем с малого, а иммено создания структур:
Код:
#include "StructCore.au3"
Const $cRecord = "Type;ID;Text;cGraphic Graphic" ; Объявляем структуру, содержащую как обычные поля так и поле с другой структурой
Const $cGraphic = "X;Y;Left;Top;Right;Bottom" ; еще одна структура
$temp = StructCreate ( "cRecord" ) ; Фактически это аналог new в С++
StructSetField($temp, "cRecord.ID",199) ; Заполняем поля
StructSetField($temp, "cRecord.cGraphic.X",1)
StructSetField($temp, "cRecord.cGraphic.Y",10)
ConsoleWrite (StructGetField($temp, "cRecord.ID") & @CRLF) ; Выводим поля
ConsoleWrite (StructGetField($temp, "cRecord.cGraphic.X") & @CRLF)
ConsoleWrite (StructGetField($temp, "cRecord.cGraphic.Y") & @CRLF)
ConsoleWrite (StructGetField($temp, "cRecord.cGraphic.Ye") & @CRLF) ; Пытаемся обратиться к несуществующему полю
Эту заготовку можно расширить и например добавить функции, например объэявлять класс в виде
Код:
Const $cRecord = "Type;ID;Text;cGraphic Graphic;.setDefault;.cRecord ;.~cRecord"
Func cRecord_Create()
EndFunc
Func cRecord_Destroy()
EndFunc
Func cRecord_setDefault()
EndFunc
Чем не простенький ООП ? :IL_AutoIt_1: