home *** CD-ROM | disk | FTP | other *** search
-
- PROGRAM TESTBILD;
-
- USES CRT,TPERSATZ,DOS;
- { USES TPCRT,DOS;
- UNIT TPCRT KANN DURCH CRT ERSETZT WERDEN, WENN AUF DIE PROZEDUREN
- HIDDENCURSOR = CURSOR VERSTECKEN UND
- NORMALCURSOR = CURSOR EINSCHALTEN
- VERZICHTET WIRD.
- }
-
- var i,j,k : integer;
- X,Y,HGF : BYTE;
- R : REGISTERS;
- CH : CHAR;
- INTENS,KA : BOOLEAN;
-
-
- PROCEDURE KEYIN(XCH:CHAR); { CHARACTER IN KEYBOARD- BUFFER SCHREIBEN }
- { USES DOS }
- VAR R : REGISTERS;
- BEGIN
- R.AH := 5;
- R.CH := 0; { SCANCODE WIRD HIER IGNORIERT }
- R.CL := ORD(XCH); { ASCII- CODE }
- INTR($16,R);
- END;
-
-
- PROCEDURE SETINTENS(INTENS:BOOLEAN);
- BEGIN
- { SETZEN INTENSIV STATT BLINKEN }
- R.AH := $10;
- R.AL := $03;
- IF INTENS THEN R.BL := $00 ELSE R.BL := $01; { 0 = INTENSIV, 1 = BLINKEN }
- INTR($10,R);
- END;
-
-
- PROCEDURE RAND;
- BEGIN
- TEXTATTR := $1F;
- GOTOXY(X,Y);
- CASE X OF
- 2 : BEGIN
- CASE Y OF
- 1 : BEGIN
- WRITE('╔');
- INC(X);
- END;
- 25 : BEGIN
- WRITE('╚');
- DEC(Y);
- END;
- ELSE
- WRITE('║');
- DEC(Y);
- END; { CASE }
- END;
- 79 : BEGIN
- CASE Y OF
- 1 : BEGIN
- WRITE('╗');
- INC(Y);
- END;
- 25 : BEGIN
- WRITE('╝');
- DEC(X,2);
- END;
- ELSE
- WRITE('║');
- INC(Y);
- END; { CASE }
- END;
- ELSE
- CASE Y OF
- 1 : BEGIN
- WRITE('══');
- INC(X,2);
- END;
- 25 : BEGIN
- WRITE('══');
- DEC(X,2);
- IF X < 2 THEN X := 2;
- END;
- END; { CASE Y }
- END; { CASE X }
-
- TEXTATTR := $10;
- GOTOXY(X,Y);
- CASE X OF
- 2 : BEGIN
- CASE Y OF
- 1 : BEGIN
- WRITE('╔');
- END;
- 25 : BEGIN
- WRITE('╚');
- END;
- ELSE
- WRITE('║');
- END; { CASE }
- END;
- 79 : BEGIN
- CASE Y OF
- 1 : BEGIN
- WRITE('╗');
- END;
- 25 : BEGIN
- WRITE('╝');
- END;
- ELSE
- WRITE('║');
- END; { CASE }
- END;
- ELSE
- CASE Y OF
- 1 : BEGIN
- WRITE('══');
- END;
- 25 : BEGIN
- WRITE('══');
- END;
- END; { CASE Y }
- END; { CASE X }
- END;
-
-
- PROCEDURE GFTEXT(HG,FG:BYTE;S:STRING);
- VAR X,Y : BYTE;
- WMI,WMA : WORD;
- BEGIN
- WMI := WINDMIN;
- WMA := WINDMAX;
- X := WHEREX;
- Y := WHEREY;
- TEXTCOLOR(HG+16);
- WINDOW(X+SUCC(LO(WMI)),Y+HI(WMI),X+LENGTH(S)+SUCC(LO(WMI)),Y+HI(WMI));
- CLRSCR;
- TEXTCOLOR(FG XOR HG + 16);
- WRITE(S);
- WINDOW(SUCC(LO(WMI)),SUCC(HI(WMI)),SUCC(LO(WMA)),SUCC(HI(WMA)));
- GOTOXY(X+LENGTH(S),Y);
- END;
-
-
- begin
- HIDDENCURSOR;
- KA := FALSE;
- IF PARAMCOUNT > 0 THEN BEGIN
- IF PARAMSTR(1) = 'I' THEN SETINTENS(TRUE);
- IF PARAMSTR(1) = 'B' THEN SETINTENS(FALSE);
- IF PARAMSTR(1) = 'K' THEN KA := TRUE;
- END;
-
- HGF := 1;
- WINDOW(1,1,80,25);
- TEXTATTR := $1F;
- clrscr;
- WRITE(' ╔'); FOR I := 3 TO 78 DO WRITE('═'); WRITE('╗');
- FOR I := 2 TO 24 DO BEGIN
- GOTOXY(2,I); WRITE('║');
- GOTOXY(79,I); WRITE('║');
- END;
- GOTOXY(1,25);
- WRITE(' ╚'); FOR I := 3 TO 78 DO WRITE('═'); WRITE('╝');
- GOTOXY(27,3); WRITE('Testbild für Farbeinstellung');
- GOTOXY(24,22); WRITE('Testbild B = Hintergrund blinkend');
- GOTOXY(24,23); WRITE('Testbild I = Hintergrund intensiv');
-
- WINDOW(8,5,75,22);
- for i := 0 to 15 do begin
- textcolor(i);
- for j := 0 to 7 do begin
- textbackground(j);
- write(' 12 ');
- end; { next j }
- TEXTATTR := $1F;
- WRITE(' ');
- textcolor(i);
- for j := 0 to 7 do begin
- textbackground(j);
- TEXTCOLOR(I+16);
- write(' 12 ');
- end; { next j }
- writeln;
- end; { next i }
-
- WINDOW(1,1,80,25);
- INTENS := FALSE;
- X := 2; Y := 1;
- I := 1;
- REPEAT
- IF KA THEN BEGIN
-
- FOR I := 0 TO 63 DO BEGIN
- R.AH := $10;
- R.AL := $00;
- R.BH := I;
- R.BL := 1;
- INTR($10,R);
- DELAY(50);
- END;
-
- (*
- INTENS := NOT INTENS;
- SETINTENS(INTENS);
- FOR J := 1 TO I DO BEGIN END;
- INC(I,50);
- IF I > 20000 THEN BEGIN
- I := 1;
- END;
- *)
- END ELSE BEGIN
- RAND;
- K := 0;
- REPEAT
- DELAY(1);
- INC(K);
- UNTIL KEYPRESSED OR (K > 80);
- END;
- UNTIL KEYPRESSED;
-
- CH := READKEY;
- IF CH <> ^[ THEN KEYIN(CH);
- NORMALCURSOR;
- textcolor(7);
- textbackground(0);
- GOTOXY(1,25);
- end.