Tvůrce webu je i pro tebe! Postav třeba web. Bez grafika. Bez kodéra. Hned.
wz

Obsah / Utility / TEXT / TextAddFormatDW

Zdrojový kód: INCLUDE\UTIL\TEXT.INC, UTIL\TEXT.ASM


TextAddFormatDW - Přidání formátovaného textu na konec textu s DWORD argumentem

Funkce TextAddFormatDW přidá formátovaný text na konec textu s jedním DWORD argumentem. Argumentem může být celé 32-bitové číslo, UNICODE znak nebo ukazatel na proměnnou TEXT. Funkce použije implicitní popisovač národnostních informací.


; -----------------------------------------------------------------------------
;  Add formated text to end of text with DWORD argument and default nationality
; -----------------------------------------------------------------------------
; INPUT:	EAX = pointer to source TEXT variable
;		EBX = pointer to destination TEXT variable
;		EDX = DWORD argument (integer, character, pointer to TEXT)
; OUTPUT:	CY = memory error or invalid argument index (text not changed)
; -----------------------------------------------------------------------------

; ------------- Push registers

TextAddFormatDW:push	ecx		; push ECX
		push	edx		; push EDX (integer argument)
		push	esi		; push ESI

; ------------- Format text

		xor	ecx,ecx		; ECX <- 0
		lea	edx,[esp+4]	; EDX <- pointer to argument
		inc	ecx		; ECX <- 1, number of DWORD arguments		
		xor	esi,esi		; ESI <- 0, default nationality
		call	TextAddFormat	; format text

; ------------- Pop registers

		pop	esi		; pop ESI
		pop	edx		; pop EDX
		pop	ecx		; pop ECX
		ret

Na vstupu funkce obsahuje registr EAX ukazatel na textovou proměnnou obsahující formátovací řetězec. Formátovací řetězec musí obsahovat maximálně jeden argument - celé 32-bitové číslo, UNICODE znak nebo textový řetězec. Registr EBX obsahuje ukazatel na cílovou proměnnou, do které se zformátovaný text uloží. Registr EDX obsahuje hodnotu DWORD argumentu (celé 32-bitové číslo, znak UNICODE nebo ukazatel na proměnnou TEXT). V případě chyby paměti, nebo pokud je ve formátovacím řetězci použit neplatný index argumentu, je navrácen chybový příznak CY a obsah cílové textové proměnné se nezmění.

Funkce vnitřně volá funkci TextAddFormat, které předá ukazatel na argument uložený v zásobníku. Do registru ECX uloží hodnotu 1 jako počet argumentů. Registr ESI vynuluje jako příznak použití implicitního popisovače národnostních informací.


Obsah / Utility / TEXT / TextAddFormatDW