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

Obsah / Utility / TEXT

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


TEXT - Textové řetězce

Systém Litos se při práci s textovými řetězci snaží dodržovat následující dvě základní kritéria:

  1. Namísto řetězců zakončených nulou se používají pouze texty s udanou délkou. Důvodem je především vyšší rychlost zpracování textu.

  2. Jako znaková sada se přednostně používá kódování znaků UTF-8. Tento způsob kódování je nenáročný na paměť (národní znaky většiny zemí zvýší délku textu jen velmi málo), není závislý na pořadí bajtů (není třeba rozlišovat big-endian a little-endian) a obsáhne celou množinu znaků Unicode.

Datové struktury
Datové struktury a makra
Konverze znaku
CharHexToBin   Konverze ASCII hexadecimálního znaku na číslo
CharDecToBin   Konverze ASCII dekadického znaku na číslo
Interní funkce
TextAttach   Připojení dat textového řetězce k proměnné textového řetězce (interní funkce)
TextDetach   Odpojení dat textového řetězce od proměnné textového řetězce (interní funkce)
TextNew   Vytvoření nových dat textového řetězce (interní funkce)
TextResize   Změna velikosti dat textového řetězce (interní funkce)
TextCopyWrite   Kopie dat textového řetězce před zápisem (interní funkce)
TextEmpty   Vyprázdnění textového řetězce
Inicializace řetězce
TextInit   Inicializace textového řetězce prázdným řetězcem
TextInitChar   Inicializace textového řetězce jedním znakem
TextInitBuf   Inicializace textového řetězce bufferem v kódu UTF-8
TextInitBufCP   Inicializace textového řetězce bufferem v dané kódové stránce
TextInitText   Inicializace textového řetězce jiným textovým řetězcem
TextTerm   Destrukce proměnné textového řetězce
Přidání znaku
TextAddChar   Přidání znaku na konec textového řetězce
TextAddByte   Přidání jednobajtového ASCII znaku na konec textového řetězce
TextAddSpace   Přidání znaku mezery na konec textového řetězce
Přidání čísla
TextAddDig   Přidání jedné číslice na konec textového řetězce
TextAdd2Dig   Přidání dvou číslic na konec textového řetězce
TextAddInt   Přidání neformátovaného celého čísla bez znaménka na konec textového řetězce
TextAddIntSig   Přidání neformátovaného celého čísla se znaménkem na konec textového řetězce
Přidání textu
TextAddBuf   Přidání textu z bufferu UTF-8 na konec textového řetězce
TextAddBufCP   Přidání textu v dané kódové stránce na konec textového řetězce
TextAddText   Přidání textu na konec textového řetězce
Pozice v textu
TextLength   Zjištění délky textu v bajtech
TextLengthChar   Zjištění délky textu ve znacích
TextCheckOff   Kontrola platnosti offsetu bajtu
TextPosToOff   Přepočet pozice znaku na bajtový offset
TextOffToPos   Přepočet bajtového offsetu na pozici znaku
Posun ukazatele
TextFirst   Posun ukazatele textu na první znak textu
TextNext   Posun ukazatele textu na další znak textu
TextLast   Posun ukazatele textu na poslední znak textu
TextPrev   Posun ukazatele textu na předešlý znak textu
Získání znaku
TextGetByte   Načtení bajtu z textu
TextGetChar   Načtení znaku z textu
TextGetFirst   Načtení prvního znaku z textu
TextGetLast   Načtení posledního znaku z textu
Zrušení    
TextDelete   Zrušení části textu
TextDelStart   Zrušení začátku textu
TextDelFrom   Zrušení zbytku textu od dané pozice
TextDelEnd   Zrušení konce textu
TextDelChar   Zrušení znaku z textu
TextDelFirst   Zrušení prvního znaku textu
TextDelLast   Zrušení posledního znaku textu
TextTrim   Ořezání textu zleva a zprava
TextTrimLeft   Ořezání textu zleva
TextTrimRight   Ořezání textu zprava
TextTrimMid   Ořezání mezer a řídicích znaků z textu
TextTrimList   Ořezání znaků z textu podle seznamu zakázaných znaků
TextTrimUnList   Ořezání znaků z textu podle seznamu povolených znaků
Část řetězce
TextLeft   Levá část textu
TextRight   Pravá část textu
TextFrom   Pravá část textu od dané pozice
TextMid   Střední část textu
Zápis textu
TextWrite   Zápis textu v kódu UTF-8 do bufferu
TextWriteCP   Zápis textu do bufferu v dané kódové stránce
Konverze písmen
TextSmall   Konverze textu na malá písmena
TextCap   Konverze textu na velká písmena
TextSmaCap   Konverze textu na malá/velká písmena (inverze)
TextWords   Konverze textu na slova (první písmeno velké)
Porovnání
TextEqu   Porovnání textů na shodu
TextComp   Alfabetické porovnání textů
Formátování čísla
TextAddFormHex   Přidání formátovaného hexadecimálního čísla na konec textového řetězce
TextAddFormBin   Přidání formátovaného binárního čísla na konec textového řetězce
TextAddFormOct   Přidání formátovaného oktalového čísla na konec textového řetězce
TextAddFormUInt   Přidání formátovaného celého čísla bez znaménka na konec textového řetězce
TextAddFormInt   Přidání formátovaného celého čísla se znaménkem na konec textového řetězce
TextAddFormExp   Přidání formátovaného exponenciálního čísla na konec textového řetězce
TextAddFormFlt   Přidání formátovaného desetinného čísla na konec textového řetězce
TextAddFormMix   Přidání formátovaného smíšeného čísla na konec textového řetězce
Formátování textu
TextAddFormat   Přidání formátovaného textu na konec textu
TextAddFormatDW   Přidání formátovaného textu na konec textu s DWORD argumentem
TextAddFormatF   Přidání formátovaného textu na konec textu s float argumentem
Formátování data a času
TextAddDateTime   Přidání data/času na konec textu
TextAddAbsTime   Přidání absolutního času na konec textu
TextAddShortTime   Přidání času v krátkém tvaru na konec textu
TextAddLongTime   Přidání času v dlouhém tvaru na konec textu
TextAddShortDate   Přidání data v krátkém tvaru na konec textu
TextAddLongDate   Přidání data v dlouhém tvaru na konec textu
Vyhledávání
TextFindByteFirst,
TextFindByte
  Vyhledání prvního/dalšího bajtu v textu
TextFindWordFirst,
TextFindWord
  Vyhledání prvního/dalšího slova v textu
TextFindByteLast,
TextFindByteRev
  Vyhledání posledního/předešlého bajtu v textu
TextFindWordLast,
TextFindWordRev
  Vyhledání posledního/předešlého slova v textu
TextFindFirst,
TextFind
  Vyhledání prvního/dalšího řetězce v textu
TextFindLast,
TextFindRev
  Vyhledání posledního/předešlého řetězce v textu
TextFindCharFirst,
TextFindChar
  Vyhledání prvního/dalšího znaku v textu
TextFindCharLast,
TextFindCharRev
  Vyhledání posledního/předešlého znaku v textu
Vícejazyčný text
TextSubLangGet   Vyhledání textu pro daný jazyk a pod-jazyk
TextLangGet   Vyhledání textu pro daný jazyk
TextLangNear   Vyhledání textu pro nejbližší jazyk
TextLangDef   Vyhledání textu pro uživatelský implicitní jazyk

Obsah / Utility / TEXT