home *** CD-ROM | disk | FTP | other *** search
- {@@@@@@@@@@@ copyright (C) 1984 by Neil J. Rubenking @@@@@@@@@@@@@@@@@@@@@@@@
- The purchaser of these procedures and functions may include them in COMPILED
- programs freely, but may not sell or give away the source text.
-
- The type declarations for this procedure reside in the file
- SCREENS.TYP, which MUST be $INCLUDEd.
-
- Since a variable of type SCREEN is exactly the same "shape"
- as the TextMode screen memory, you can change the whole screen
- in an instant by first declaring a SCREEN variable "on top"
- of the screen memory (using the "absolute" statement) and
- then simply changing the value of that variable.
-
- The procedure MakeScreen turns a simple string[80] into
- a ScreenLine by filling in any trailing blanks and giving
- each character the specified attribute.
-
- To create a whole screen, you use MakeScreen on each of its
- 25 lines--that breaks it into manageable chunks. It can get
- a bit hard to look at in the listing--I suggest FIRST designing
- the screen and THEN breaking it up into lines. Alternatively,
- you might save the whole screen in a file and read each line
- into memory when the program initializes.}
-
-
- {@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
- procedure MakeScreen(VAR Line : ScreenLine ; att: byte;theLine : LineType);
- var
- row : byte;
- begin
- for row := 1 to length(theLine) do
- begin
- Line[row].character := theLine[row];
- Line[row].attribute := att;
- end;
- if length(theLine) < 80 then
- for row := length(theLine) + 1 to 80 do
- begin
- Line[row].character := ' ';
- Line[row].attribute := att;
- end;
- end;
- {@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}