OutText: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
m (1 revízia: Unit Graph) |
|||
Řádek 10: | Řádek 10: | ||
:Zobrazí TextString v místě CP za použití aktuálních zarovnávacích nastavení. | :Zobrazí TextString v místě CP za použití aktuálních zarovnávacích nastavení. | ||
− | : | + | :TextString je odříznut na hranici výřezu, je-li příliš dlouhý. |
− | :Pokud je aktivní některý vektorový (stroked) font, je | + | :Pokud je aktivní některý vektorový (stroked) font, je TextString odříznut na kraji obrazovky, je-li příliš dlouhý. |
− | :Pokud je aktivní implicitní (bitmapový) font a | + | :Pokud je aktivní implicitní (bitmapový) font a TextString je příliš dlouhý, než aby se vešel na obrazovku, nezobrazí se žádný text. |
:[[OutText]] používá font nastavený pomocí SetTextStyle. Pro udržení kompatibility kódu při používání několika fontů použijte k určení rozměrů řetězce volání [[TextWidth]] a [[TextHeight]]. | :[[OutText]] používá font nastavený pomocí SetTextStyle. Pro udržení kompatibility kódu při používání několika fontů použijte k určení rozměrů řetězce volání [[TextWidth]] a [[TextHeight]]. |
Aktuální verze z 5. 10. 2012, 21:42
Pošle řetězec do výstupního zařízení do místa ukazatele aktuální pozice (CP).
- Deklarace
procedure OutText(TextString: string);
- Režim
- Reálný, Chráněný
- Poznámky
- Zobrazí TextString v místě CP za použití aktuálních zarovnávacích nastavení.
- TextString je odříznut na hranici výřezu, je-li příliš dlouhý.
- Pokud je aktivní některý vektorový (stroked) font, je TextString odříznut na kraji obrazovky, je-li příliš dlouhý.
- Pokud je aktivní implicitní (bitmapový) font a TextString je příliš dlouhý, než aby se vešel na obrazovku, nezobrazí se žádný text.
- OutText používá font nastavený pomocí SetTextStyle. Pro udržení kompatibility kódu při používání několika fontů použijte k určení rozměrů řetězce volání TextWidth a TextHeight.
- OutText používá výstupní volby, nastavené pomocí SetTextJustify (zarovnání, centrování, otočení o 90 stupňů atd.).
- Ukazatel aktuální pozice (CP) je aktualizován procedurou OutText pouze tehdy, je-li směr vodorovný se zarovnáním vlevo. Směr výstupu textu nastavuje procedura SetTextStyle (vodorovně nebo svisle); zarovnání textu nastavuje SetTextJustify (CP vlevo od řetězce, centrováno podle CP nebo CP vpravo od řetězce text nad CP, pod CP nebo svisle centrován podle CP). V následujícím příkladu blok #1 vypíše ABCDEF a přesune CP (protože text je vodorovný i zarovnán vlevo); blok #2 vypíše ABC, ale DEF jej přepíše (zarovnání doprava - CP zůstává na místě), podobně blok #3 vypíše ABC přepsané DEF, protože text je vypisován ve svislém směru a CP se tedy opět nemění.
Vzorový příklad
program CPupdate; uses Graph; var Driver, Mode: Integer; begin Driver := Detect; InitGraph(Driver, Mode, ); if GraphResult < 0 then Halt(1); { #1 } MoveTo(0, 0); SetTextStyle(DefaultFont, HorizDir, 1); { CharSize = 1 } SetTextJustify(LeftText, TopText); OutText('ABC'); { CP je aktualizován } OutText('DEF'); { CP je aktualizován } { #2 } MoveTo(100, 50); SetTextStyle(DefaultFont, HorizDir, 1); { CharSize = 1 } SetTextJustify(RightText, TopText); OutText('ABC'); { CP je aktualizován } OutText('DEF'); { CP je aktualizován } { #3 } MoveTo(100, 100); SetTextStyle(DefaultFont, VertDir, 1); { CharSize = 1 } SetTextJustify(LeftText, TopText); OutText('ABC'); { CP NENÍ aktualizován } OutText('DEF'); { CP NENÍ aktualizován } Readln; CloseGraph; end.
- CP není nikdy aktualizován procedurou OutTextXY.
- Implicitní font (8x8) není na kraji obrazovky ořezáván. Namísto toho, když by se některá část řetězce nevešla na obrazovku, nedojde k žádnému výstupu textu. Například tyto příkazy nebudou mít žádný efekt:
SetViewPort(0, 0, GetMaxX, GetMaxY, ClipOn); SetTextJustify(LeftText, TopText); OutTextXY(-5, 0); { -5,0 není na obrazovce } OutTextXY(GetMaxX - 1, 0, 'ABC'); { Část 'A', } { Vše z 'BC' mimo obrazovku }
- Vektorové fonty jsou na okrajích obrazovky ořezávány.
- Omezení
- Je nutno být v grafickém režimu.
- Viz také
- GetTextSettings
Vzorový příklad
{OutTxt.PAS} {Vzorový příklad pro proceduru OutText.} uses Graph; var Gd, Gm: Integer; begin Gd := Detect; InitGraph(Gd, Gm, ' '); if GraphResult <> grOk then Halt(1); OutText('Snadno použitelné'); Readln; CloseGraph; end.