Obsah / Utility / TEXTFORM / FormAbsDateTime
Zdrojový kód: INCLUDE\UTIL\TEXTFORM.INC, UTIL\TEXTFORM.ASM
Související:
Formátovací řetězec funkce FormDateTime | ||
FormAbsDateTimeN | Délka formátovaného textu absolutního času | |
FormDateTime | Zformátování data a času do bufferu |
FormAbsDateTime - Zformátování absolutního času do bufferu
Funkce FormAbsDateTime zformátuje do bufferu text data a času podle formátovacího řetězce, časový údaj je přitom zadán v absolutním tvaru.
|
Na vstupu funkce obsahuje registrový pár EDX:EAX absolutní čas v násobcích 100 nanosekund od začátku našeho letopočtu. Registr EBX obsahuje délku zdrojového textu v bajtech. Registr ECX obsahuje ukazatel na popisovač národnostních informací NATIONAL. Je-li obsah registru ECX nulový, použije se implicitní popisovač národnostních informací. Registr ESI obsahuje čítač zbylého místa v cílovém bufferu a registr EDI ukazatel do cílového bufferu.Registr EBP obsahuje ukazatel na zdrojový text ke zformátování. Zdrojový text je v kódu UTF-8. Na výstupu ukazují registry ESI a EDI na novou ukládací pozici.
|
Na začátku funkce jsou uschovány registry do zásobníku a v zásobníku je připraven buffer pro strukturu DATETIME. Absolutní datum a čas je funkcí AbsToDateTimeExt zkonvertováno na jednotlivé položky ve struktuře DATETIME. Je-li ukazatel na národnostní informace v registru ECX nulový, vyhledá se implicitní popisovač pomocí makra DEFAULT_NAT. Datum a čas ze struktury v zásobníku se zkonvertuje do výstupního bufferu funkcí FormDateTime.
Obsah / Utility / TEXTFORM / FormAbsDateTime