{*******************************************} { UNIT winscr } { af } { Mikael Mortensen } {*******************************************} UNIT winscr; INTERFACE PROCEDURE winshadow(a,b,c,d,tc,tb : BYTE); PROCEDURE pyrawin(a,b,c,d : BYTE; antal : INTEGER); PROCEDURE zoomwin(a,b,c,d : BYTE; dly,antal : INTEGER); PROCEDURE zoominwin(a,b,c,d,tb1,tb2 : BYTE; dly,antal : INTEGER); PROCEDURE echowinminus(a,b,c,d,tb1,tb2,antal : BYTE; dly : INTEGER); PROCEDURE echowinplus(a,b,c,d,tb1,tb2,antal : BYTE; dly : INTEGER); PROCEDURE clreos(a,b : INTEGER); PROCEDURE ClrX(a,b,x : INTEGER); IMPLEMENTATION USES crt; PROCEDURE winshadow; BEGIN TEXTBACKGROUND(black); WINDOW(a + 1,b + 1,c + 1,d + 1); ClrScr; TEXTCOLOR(tc); TEXTBACKGROUND(tb); WINDOW(a,b,c,d); END; {winshadow} {-------------------------------------------------------------------} PROCEDURE pyrawin; VAR i : INTEGER; BEGIN WINDOW(a,b,c,d); FOR i := 1 TO antal DO BEGIN ClrScr; a := a - 1; b := b + 1; c := c + 1; d := d + 1; WINDOW(a,b,c,d); ClrScr; END; END; {pyrawin} {-------------------------------------------------------------------} PROCEDURE zoomwin; VAR i : INTEGER; BEGIN WINDOW(a,b,c,d); ClrScr; FOR i := 1 TO antal DO BEGIN a := a - 1; b := b - 1; c := c + 1; d := d + 1; WINDOW(a,b,c,d); ClrScr; DELAY(dly); i := i + 1; END; END; {zoomwin} {-------------------------------------------------------------------} PROCEDURE zoominwin; VAR i : INTEGER; BEGIN WINDOW(a,b,c,d); ClrScr; FOR i := 1 TO antal DO BEGIN ClrScr; TEXTBACKGROUND(tb1); a := a + 3; b := b + 1; c := c - 3; d := d - 1; WINDOW(a,b,c,d); ClrScr; DELAY(dly); i := i + 1; TEXTBACKGROUND(tb2); ClrScr; WINDOW(a,b,c,d); END; END; {zoominwin} {-------------------------------------------------------------------} PROCEDURE echowinminus; VAR i : BYTE; BEGIN TEXTCOLOR(lightgray); TEXTBACKGROUND(black); WINDOW(1,1,80,25); FOR i := 1 TO antal DO BEGIN ClrScr; DELAY(dly); TEXTBACKGROUND(tb1); WINDOW(a,b,c,d); ClrScr; a := a - 1; b := b - 1; c := c - 1; d := d - 1; ClrScr; DELAY(dly); TEXTBACKGROUND(tb2); WINDOW(a,b,c,d); ClrScr; END; END; {echowinminus} {-------------------------------------------------------------------} PROCEDURE echowinplus; VAR i : BYTE; BEGIN TEXTCOLOR(lightgray); TEXTBACKGROUND(black); WINDOW(1,1,80,25); FOR i := 1 TO antal DO BEGIN ClrScr; DELAY(dly); TEXTBACKGROUND(tb1); WINDOW(a,b,c,d); ClrScr; a := a + 1; b := b + 1; c := c + 1; d := d + 1; ClrScr; DELAY(dly); TEXTBACKGROUND(tb2); WINDOW(a,b,c,d); ClrScr; END; END; {echowinplus} {-------------------------------------------------------------------} PROCEDURE clreos; VAR antal,i,l : BYTE; BEGIN GOTOXY(a,b); antal := 25; FOR i := b TO antal DO BEGIN GOTOXY(a,b); FOR l := a TO 80 DO BEGIN IF b <> 25 THEN BEGIN ClrEol; END; END; b := b + 1; END; END; {clreos} {-------------------------------------------------------------------} PROCEDURE ClrX; VAR i : BYTE; BEGIN FOR i := a TO b DO BEGIN GOTOXY(x, i);ClrEol; END; END; {ClrX} {-------------------------------------------------------------------} BEGIN END.