Macros de l'Easy Code (tots els projectes)


Algunes macros d'utilitat estan incloses internament a l'Easy Code. Els seus noms són acolorits com a paraules reservades de l'Easy Code (vegeu el menú Configuració). Com que formen part de l'aplicació, podeu utilitzar-les quan vulgueu al llarg de tot el codi. Aquestes macros tenen la següent sintaxi:

Color (byRed, byGreen, byBlue)

Els arguments byRed, byGreen, byBlue han de ser valors de 8 bits (DB). Torna un color RGB (un valor de 32 bits o DD) al registre Eax.

Exemple:

Color (0AH, 0BH, 0CH)

Torna 000C0B0AH al registre Eax


HiByte (wValue)

L'argument wValue ha de ser un valor de 16 bits (DW). Torna el byte alt (valor de 8 bits o DB) de wValue al registre Al.

Exemple:

HiByte (0C0AH)

Torna 0CH al registre Al


HiWord (dwValue)

L'argument dwValue ha de ser un valor de 32 bits (DD). Torna la paraula alta (valor de 16 bits o DW) de dwValue al registre Ax.

Exemple:

HiWord (000C000AH)

Torna 000CH al registre Ax


LoByte (wValue)

L'argument wValue ha de ser un valor de 16 bits (DD). Torna el byte baix (valor de 8 bits o DB ) de wValue al registre Al.

Exemple:

LoByte (0C0AH)

Torna 0AH al registre Al


LoWord (dwValue)

L'argument dwValue ha de ser un valor de 32 bits (DD). Torna la paraula baixa (valor de 16 bits o DW) de dwValue al registre Ax.

Exemple:

LoWord (000C000AH)

Torna 000AH al registre Ax


MakeWord (byLow, byHigh)

Els arguments byLow i byHigh han de ser valors de 8 bits (DB). Torna el valor resultant de 16 bits (DW) al registre Ax.

Exemple:

MakeWord (0CH,0AH )

Torna 0A0CH al registre Ax


MakeLong (wLow, wHigh)

Els arguments wLow i wHigh han de ser valors de 16 bits (DW). Torna la doble paraula resultant (DD) al registre Eax.

Exemple:

MakeLong (0A0BH,0C0DH

Torna 0C0D0A0BH al registre Eax


Move (dwValue1, dwValue2)

Els arguments dwValue1 i dwValue2 han de ser valors de 32 bits (DD), variables o posicions de memòria.

Exemple:

Move (dwMemPos1, dwMemPos2)

Mou el valor de la variable o posició de memòria indicada per dwMemPos2 a la variable o posició de memòria indicada per dwMemPos1.

Aquesta macro no torna cap valor.


Return
(dwValue)

L'argument dwValue ha de ser un valor de 32 bits (DD). Carrega el valor dwValue al regsitre Eax i torna d'un procediment.

Exemple:

Return (TRUE)

Carrega el registre Eax amb el valor TRUE (1) i torna.


TEXT
("cadena")

L'argument "cadena" ha de ser una cadena de text entre cometes. Torna l'adreça d'una cadena de text en format ANSI o Unicode.

Exemple:

Invoke lstrlen, TEXT("Hola")

Eax torna 4, la llargada de la cadena en caràcters. Per a la versió ANSI aquest valor es refereix a 4 bytes, mentre que per a la versió Unicode es refereix a 4 paraules (DW).

La cadena tornada per TEXT serà ANSI o Unicode depenent de l'opció Utilitza cadenes de text Unicode a les Propietats del projecte.


OBSERVACIONS
: La macro TEXT sempre torna l'adreça efectiva de la cadena indicada, per tant, no heu d'utilitzar MAI l'operador Addr.

IMPORTANT: Si no heu de fer servir cap d'aquestes macros (incloses per defecte), o els seus noms crean algun conflicte amb alguna variable, procediment o macro del projecte, podeu treure-les desmarcant l'opció corresponenet a les Propietats del projecte.