Structuri de date
O structura de date consta intr-o structura organizata care inglobeaza un set de date etichetate, tipurile de date pot fi diferite. In AutoIt este suportat lucrul cu structuri de date si dispune de 5 functii pentru managementul structurilor de date:
1. DllStructCreate
Creaza o structura de date (asemanatoare cu structurile din C/C++) pentru folosirea in apelurile DLL-urilor. Functia are 2 parametri: primul parametru este un sir de caractere reprezentand structura de date si optional daca nu este nevoie de alocare a memoriei, un pointer. Functia returneaza o variabila care se poate folosi cu apelurile functiilor DllStruct.
Tipurile de date care pot fi inglobate intr-o structura de date:
| Tip | Descriere |
| BYTE | 8bit (1byte) unsigned char |
| BOOLEAN | 8bit (1byte) unsigned char |
| CHAR | 8bit (1byte) ASCII char |
| WCHAR | 16bit (2byte) UNICODE wide char |
| short | 16bit (2bytes) signed integer |
| USHORT | 16bit (2bytes) unsigned integer |
| WORD | 16bit (2bytes) unsigned integer |
| int | 32bit (4bytes) signed integer |
| long | 32bit (4bytes) signed integer |
| BOOL | 32bit (4bytes) signed integer |
| UINT | 32bit (4bytes) unsigned integer |
| ULONG | 32bit (4bytes) unsigned integer |
| DWORD | 32bit (4bytes) unsigned integer |
| INT64 | 64bit (8bytes) signed integer |
| UINT64 | 64bit (8bytes) unsigned integer |
| ptr | 32 sau 64bit unsigned integer, in functie de versiunea x86 sau x64 |
| HWND | 32bit (4bytes) integer |
| HANDLE | 32bit (4bytes) integer |
| float | 32bit (4bytes) floating point |
| double | 64bit (8bytes) floating point |
| INT_PTR | 32 sau 64bit signed integer, in functie de versiunea x86 sau x64 |
| LONG_PTR | 32 sau 64bit signed integer, in functie de versiunea x86 sau x64 |
| LRESULT | 32 sau 64bit signed integer, in functie de versiunea x86 sau x64 |
| LPARAM | 32 sau 64bit signed integer, in functie de versiunea x86 sau x64 |
| UINT_PTR | 32 sau 64bit unsigned integer, in functie de versiunea x86 sau x64 |
| ULONG_PTR | 32 sau 64bit unsigned integer, in functie de versiunea x86 sau x64 |
| DWORD_PTR | 32 sau 64bit unsigned integer, in functie de versiunea x86 sau x64 |
| WPARAM | 32 sau 64bit unsigned integer, in functie de versiunea x86 sau x64 |
Fiecare tip de date trebuie sa fie separat de caracterul ; (punct si virgula).
Pentru a crea vectori doar adaugati “[dimensiunea]” dupa tipul de date.
Pentru a modifica aliniamentul scrieti prefixul “align n” inainte structurii, unde n poate fi 1, 2, 4, 8, sau 16.
Pentru a elibera memoria alocata atribuiti variabilei valoarea 0.
2. DllStructSetData
Seteaza date intr-un element al unei structuri de date. Functia are 4 parametri: variabila returnata de DllStructCreate, indexul (incepand de la 1 – daca nu se efectueaza etichetarea) sau numele elementului, datele care se plaseaza in elementul structurii si optional indexul daca este vorba despre un vector (1-based index).
3. DllStructGetData
Citeste (obtine) date dintr-un element al structurii de date. Functia are 3 parametri: variabila corespunzatoare structurii de date, indexul sau numele elementului si optional indexul pentru un vector.
4. DllStructGetPtr
Returneaza pointerul unei structuri de date sau al unui element din structura de date. Functia are 2 parametri: variabila corespunzatoare structurii de date si optional indexul sau numele elementului.
5. DllStructGetSize
Returneaza dimensiunea structurii de date in bytes. Are ca parametru variabila corespunzatoare structurii de date.

* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.