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.

Scrieti structura de date incadrata de cuvintele STRUCT respectiv ENDSTRUCT pentru a fi aliniate in acord cu regulile  limbajului C.

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.