Definice formátů
Existují speciální symboly, které mají svůj speciální význam. Jejich přehled je uveden v následující tabulce.Znak | Význam |
---|---|
@ | začátek vkládané hodnoty |
^ | začátek vkládané hodnoty, hodnota bude zalamována |
< | pole bude zarovnáno vlevo |
> | pole bude zarovnáno vpravo |
| | pole bude zarovnáno na střed |
# | v prvním sloupci znamená komentář, jinde jako číslo |
bude zobrazena jako číslo | |
. | v číselné hodnotě bude zobrazena desetinná tečka |
~ | při víceřádkovém tisku nebudou vytištěny koncové prázdné řádky |
~~ | automaticky zajišťuje víceřádkový tisk |
@* | pole pro víceřádkový text |
Jednoduchého vložení hodnoty do výstupního pole se docílí umístěním symbolu do řádku definice vzhledu formátu. Máme-li proměnnou, jejíž hodnota má větší šířku , než je šířka výstupního pole, můžeme její hodnotu zobrazit na více řádcích. Místo symbolu @ tak použijeme symbol ^. Předpis formátu pro zobrazení hodnoty proměnné pak bude zabírat tolik řádků, na kolik jich budeme chtít proměnnou zobrazit.
Jako první ukázku si napíšeme jednoduchou šablonu. Bude tisknout prvních 6 znaků z dané hodnoty. Text přitom bude vycentrován uvnitř hranatých závorek.
$ hodnota = ‘ Nějaký dlouhý text ’;
Format =
[^11111]
$hodnota
.
write;
// vytiskne
[ Nějaký ]
A dalších pár příkladů použití….
Hodnota na 6 míst, na čtyři řádky, ohraničená [ ]
Format =
[ ^11111 ]
$hodnota
[ ^11111 ]
$hodnota
[ ^11111 ]
$hodnota
.
// Vytiskne
[ Nějaký ]
[ dlouhý ]
[ text ]
[ ]
Vycentrovaná hodnota na 10 míst, na libovolný počet řádků, ohraničeno znakem =
Format =
= ^ | | | | | = ˜ ˜
$ hodnota
.
// Vytiskne
= Nějaký =
= dlouhý =
= text =
Zobrazení desetinného čísla na pět míst před i po desetinné čárce, ohraničené znakem =
format = _@#####.#####_
$hodnota
.
$hodnota = 123.456;
write;
//vytiskne
= 123.45600=
// pro formát =@#####.##= vytiskne
= 123.46=
A to by bylo pro dnešek všechno. V dalším díle se podíváme na stránkovaný výstup definovaný formátem. V případě jakýchkoliv dotazů mě kontaktujte na email: habrman@banan.cz.
Autor: Robert Habrman