home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* RAHMEN.PAS *)
- (* demonstriert die Erstellung eines beliebigen *)
- (* Rahmens mit inverser Darstellung im Inneren *)
- (* (c) 1989 Alfred Kraft & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM rahmen_demo;
-
- USES Crt;
-
- VAR
- i : INTEGER;
- fehler : BOOLEAN;
-
- PROCEDURE normal;
- BEGIN
- TextBackground(0); TextColor(7);
- ClrScr; GotoXY(1,1);
- END;
-
- PROCEDURE revers;
- BEGIN
- TextBackground(7); TextColor(0);
- ClrScr; GotoXY(1,1);
- END;
-
- PROCEDURE rahmen(ls, oz, rs, uz : BYTE);
- BEGIN
- Window(1,1,80,25); normal;
- fehler := (ls > rs - 2) OR (oz > uz -2);
- IF NOT fehler THEN BEGIN
- GotoXY(ls,oz); Write(Chr(201));
- FOR i := 1 TO (rs - ls -1) DO Write(Chr(205)); {oben}
- Write(Chr(187));
- WriteLn;
- GotoXY(ls,oz + 1);
- FOR i := 1 TO (uz - oz - 1) DO BEGIN
- Write(Chr(186)); { linker rand }
- GotoXY(ls, oz + i + 1);
- END;
- Write(Chr(200));
- FOR i := 1 TO (rs - ls - 1) DO Write(Chr(205));
- Write(Chr(188)); { unten }
- GotoXY(rs,oz);
- FOR i := oz + 1 TO uz - 1 DO BEGIN
- GotoXY(rs,i);
- Write(Chr(186)); { rechter rand }
- END;
- GotoXY(ls +1,oz + 1);
- Window(ls + 1, oz + 1, rs - 1, uz - 1);
- revers;
- GotoXY(1,1);
- END ELSE BEGIN
- rahmen(49,2,79,8);
- WriteLn('falsche Parameter !');
- WriteLn('es muß gelten : ls <= rs - 2');
- WriteLn(' oz <= uz - 2');
- END;
- END;
-
- BEGIN
- rahmen(1,1,79,24);
- END.
- (* ------------------------------------------------------ *)
- (* RAHMEN.PAS *)