Gestione di Array di stringhe
Per comodità le funzioni usano due macro EH_AR e EH_ARF che altro non sono che un dei typedef di un CHAR **, ma rendono il codice decisamente più leggibile.
La differenze tra le due strutture e le funzioni che le gestiscono sono:
- EH_AR usa EhAlloc() per allocare memoria sia per l'array che per ogni elemento della stringa.
- EH_ARF usa EhAlloc() per allocare una sola memoria sia per l'array che per ogni elemento della stringa.
EH_AR anche se più "dispendioso per il sistema operativo" si è rilevato nel tempo molto più performante e versatile rispetto a EH_ARF.
Per control
EH_ARF può essere allocato in una sola memoria EasyHand (memo_chiedi()) e quindi ha indubbiamente altri vantaggi.
Per la loro natura quindi si lavora in modo diverso sui due array, si consiglia però di usare le funzione che usano EH_AR.
DMI
La funzione DMIOpen() permetto di costruire array di strutture predichiarando la dimensione dell'elemento ed il nome alfanumerico dello stesso array, nonchè il tipo di memoria usata.
Vedi sessione dedicata alla gestione delle DMI.
EH_AR
Le funzioni ARNew() o ARCreate() permettono di costruire array partendo da una stringa che contiene tutte gli elementi separati da un separatore.
ARAdd() e ARAddArg() invece permettono di costruirlo in modo dinamico, aggiungendo una stringa alla volta.
ARDestroy() libera le risorse impegnate.
ARLen() ne determina la lunghezza in righe, ARSort() lo ordina.
ARToString() lo trasforma in una stringa.
ARIsIn() controlla se un elemento contiene la stringa che stiamo cercando.
EH_ARF
Le funzioni ARSplit() permettono di costruire array partendo da una stringa che contiene tutte gli elementi separati da un separatore.
ARMaker() e ARPtrMaker() invece permettono di costruirlo in modo dinamico, aggiungendo una stringa alla volta.
ARMaker() puo costruire array anche di strutture, anche se abitualmente viene usato per le stringhe.
EhFree() è usato per liberare la memoria (o memo_libera() se si era partiti con handle)