Obsah / Utility / TEXTFORM / FormGetArgLen
Zdrojový kód: INCLUDE\UTIL\TEXTFORM.INC, UTIL\TEXTFORM.ASM
Související:
FormToTextBuf | Zformátování textu do bufferu | |
FormToTextBufN | Délka formátovaného textu |
FormGetArgLen - Zjištění délky formátovacího argumentu
Funkce FormGetArgLen slouží ke zjištění velikosti formátovacího argumentu v zásobníku pro funkci FormToTextBuf.
|
Vstupním argumentem funkce jsou v registru EBX formátovací parametry FORMPAR (ne ukazatel). Na výstupu z funkce obsahuje registr EAX délku argumentu v násobcích dvojslov DWORD (hodnota 1, 2 nebo 3). 64-bitový argument nebo číslo v dvojité přesnosti zabere 2 dvojslova (tj. 8 bajtů). Desetinné číslo s rozšířenou přesností zabere 3 dvojslova (tj. 12 bajtů). Ostatní argumenty zaberou 1 dvojslovo (4 bajty).
|
Funkce přednastaví do registru EAX délku 1 a do registru EBX typ argumentu. Všechny argumenty typu FORMTYPE_ArgDW a nižší budou mít délku 1 dvojslovo.
|
Je-li argumentem desetinné číslo (tj. argumenty vyšší než typ FORMTYPE_ArgInt) a nemají-li sníženou přesnost (příznak FORMFLAG2_Shrt), jedná se o číslo s dvojnásobnou přesností, jehož délka bude 2 dvojslova (tj. 8 bajtů).
Posledním testem je rozlišení argumentu dlouhého typu, délka takového argumentu bude zvýšena o 1 dvojslovo. Jendá se o celočíselné argumenty 64 bitů, které mají délku 2 dvojslova (8 bajtů) a o desetinná čísla s rozšířenou přesností, která mají délku 3 dvojslova (12 bajtů).
Obsah / Utility / TEXTFORM / FormGetArgLen