home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
USCX
/
TURBO-05.ZIP
/
PTOOLWIN.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1985-02-23
|
4KB
|
139 lines
Program PTOOLWIN; {Copyright R D Ostrander
Ostrander Data Services
5437 Honey Manor Dr
Indianapolis IN 46241
This is a demonstration program for the Turbo Pascal subroutine PTOOLWIN
for window manipulations. Address any questions to the author at the
above address. }
{$I PTOOLWIN.INC} {Include statement for PTOOLWIN functions and parameters }
VAR
ScreenType, Ans : Char;
{ Internal Routines Begin Here ****************************** }
Procedure NewScreen;
Var
Screen, Code : Integer;
Begin
Val (Ans, Screen, Code);
If (Code = 0) and
(Screen in [1..9]) then
If PTOOLWIN_Stack_Size = 9 then
Begin
PTWOpen (10);
ClrScr;
Gotoxy (20,1);
Write ('This demonstration program only allows 9 windows.');
Gotoxy (20,3);
Write ('I will now close the previous window');
Delay (3000);
PTWClose;
PTWClose;
End
else
Begin
PTWOpen (Screen);
ClrScr;
End;
End;
{ Main Program Begins Here ********************************** }
BEGIN
ClrScr;
Gotoxy (15,7); Write ('Demonstration of PTOOLWIN procedure.');
Gotoxy (15,9); Write ('PTOOLWIN and this program are copyrights');
Gotoxy (15,10); Write ('of R D Ostrander');
Gotoxy (15,11); Write (' Ostrander Data Services');
Gotoxy (15,12); Write (' 5437 Honey Manor Dr');
Gotoxy (15,13); Write (' Indianapolis IN 46241');
Gotoxy (15,14); Write ('and have been placed in the public domain.');
ScreenType := ' ';
Ans := ' ';
Gotoxy (10,19);
Write ('Are you using a Monochrome card or Color/Graphics card ? (M/C)');
Gotoxy (10,20);
Write ('Compaq uses a Color/Graphics - 3270/PC uses Monochrome! ');
While not (Ans in ['M', 'C']) do
Begin
Read (KBD, Ans);
Write (Ans);
Ans := UpCase (Ans);
End;
PTOOLWIN_Screen_Type := Ans;
Ans := ' ';
Gotoxy (10,23);
Write ('Would you like to have this program run in Color? (Y/N)');
Gotoxy (10,24);
Write ('Some Monochrome cards will show shades of grey. ');
While not (ScreenType in ['Y', 'N']) do
Begin
Read (KBD, ScreenType);
Write (ScreenType);
ScreenType := UpCase (ScreenType);
End;
If ScreenType = 'Y' then
Begin
PTWSet (1, 2, 3, 31, 9, 1, 0, 15);
PTWSet (2, 7, 4, 73, 21, 2, 1, 14);
PTWSet (3, 40, 1, 80, 25, 0, 2, 13);
PTWSet (4, 1, 8, 80, 16, -1, 3, 12);
PTWSet (5, 8, 12, 55, 24, -2, 4, 7);
PTWSet (6, 1, 10, 45, 20, 1, 5, 12);
PTWSet (7, 5, 5, 75, 10, 2, 6, 9);
PTWSet (8, 40, 11, 70, 24, 0, 15, 0);
PTWSet (9, 1, 1, 80, 25, -2, 1, 10);
PTWSet (10, 1, 21, 80, 25, -2, 4, 0);
End
else
Begin
PTWSet (1, 2, 3, 31, 9, 0, 15, 0);
PTWSet (2, 7, 4, 73, 21, 1, 0, 15);
PTWSet (3, 40, 1, 80, 25, 2, 0, 15);
PTWSet (4, 1, 8, 80, 16, -1, 0, 15);
PTWSet (5, 8, 12, 55, 24, -2, 0, 15);
PTWSet (6, 1, 10, 45, 20, 1, 15, 0);
PTWSet (7, 5, 5, 75, 10, 2, 0, 15);
PTWSet (8, 40, 11, 70, 24, -1, 0, 15);
PTWSet (9, 1, 1, 80, 25, -2, 0, 15);
PTWSet (10, 1, 21, 80, 25, 2, 15, 0);
End;
While Ans <> 'E'do
Begin
If Ans <> 'C' then
Begin
Gotoxy (2,2); Write ('Pick a screen - 1 to 9');
Gotoxy (2,3); Write (' or "C" to close a screen');
Gotoxy (2,4); Write (' or "E" to End ');
End;
Read (KBD, Ans);
Write (Ans); Gotoxy (WhereX - 1, WhereY);
Ans := UpCase (Ans);
If (Ans = 'C') and (PTOOLWIN_Stack_Size > 0) then PTWClose;
If Ans in ['1'..'9'] then NewScreen;
End;
Window (1,1,80,25);
ClrScr;
Gotoxy (1,24);
TextColor(0);
TextBackground (15);
END.