Přidáno 1 788 bajtů,
1. 10. 2012, 14:10 Definuje textové okno na obrazovce.
;Deklarace
procedure Window(X1, Y1, X2, Y2: Byte);
;Režim
:Reálný, Chráněný
;Poznámky
:X1 a Y1 jsou souřadnice levého horního rohu okna, X2 a Y2 udávají jeho pravý dolní roh. Levý horní roh celého displeje má pro tuto proceduru vždy souřadnice (1,1). Minimální velikost textového okna je jeden sloupec krát jedna řádka. Pokud jsou parametry z nějakého důvodu neplatné, je volání procedury [[Window]] ignorováno.
:Implicitní okno je (1, 1, 80, 25) v 25-řádkovém režimu a (1, 1, 80, 43) v 43-řádkovém režimu, což odpovídá v obou případech celé obrazovce.
:Všechny obrazovkové souřadnice (s vyjímkou vlastních souřadnic okna) jsou relativní vůči aktuálnímu oknu. Např. příkaz [[GotoXY]](1, 1) přesune kurzor vždy do levého horního rohu aktuálního okna.
:Relativní k aktuálnímu oknu je mnoho procedur a funkcí jednotky [[Crt]], např. [[ClrEol]], [[ClrScr]], [[DelLine]], [[GotoXY]], [[InsLine]], [[WhereX]], [[WhereY]], [[Read]], [[Readln]], [[Write]], [[Writeln]].
:Definici aktuálního okna uchovávají [[WindMin]] a [[WindMax]]. Volání procedury [[Window]] vždy přemístí kurzor do pozice (1, 1).
;Viz také
:[[ClrEol]]
:[[ClrScr]]
:[[DelLine]]
:[[GotoXY]]
:[[WhereX]]
:[[WhereY]]
Vzorový příklad
{Window.PAS}
{Vzorový příklad pro proceduru Window.}
uses Crt;
var
X, Y: Byte;
begin
TextBackground(Black); { Smazání obrazovky }
ClrScr;
repeat
X := Succ(Random(80)); { Kreslení náhodných oken }
Y := Succ(Random(25));
Window(X, Y, X + Random(10), Y + Random(8));
TextBackground(Random(16)); { Náhodnými barvami }
ClrScr;
until KeyPressed;
end.
[[Category:CRT]]
[[Category:Procedúra CRT]]