Otevřít hlavní menu

Změny

Window

Přidáno 1 788 bajtů, 1. 10. 2012, 15:10
bez shrnutí editace
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]]