Window

From Delphi & Pascal (česká wiki)
Jump to navigation Jump to search

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.