Obsah / Utility / TEXT / TextInitChar
Zdrojový kód: INCLUDE\UTIL\TEXT.INC, UTIL\TEXT.ASM
TextInitChar - Inicializace textového řetězce jedním znakem
Funkce TextInitChar inicializuje textovou proměnnou jedním znakem.
|
Funkce TextInitChar inicializuje novou textovou proměnnou, na niž ukazuje ukazatel v registru EBX, jedním znakem v ködu Unicode. Kód znaku je v registru EAX. Pokud dojde k chybě paměti, funkce navrátí příznak chyby CY a textová proměnná bude inicializována na prázdný text.
|
Po úschově registrů je pomocí funkce CharUTF8Size zjištěna velikost nového znaku v bajtech. Délka textu je uložena do registru EAX.
|
Pomocí funkce TextNew je alokován nový datový buffer o délce textu EAX. Pokud nastane chyba paměti, funkce se ukončí s chybovým kódem CY. Pro tento případ je proměnná nejdříve inicializována na prázdný text EmptyTextData.
|
Znak je uložen do datového bufferu pomocí funkce CharUTF8Write. Ukládací adresa je zjištěna z ukazatele na data textové proměnné (načteného z textové proměnné [EBX]) posunutého na začátek textu v datech textového řetězce.
Obsah / Utility / TEXT / TextInitChar