home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1992 December
/
simtel1292_SIMTEL_1292_Walnut_Creek.iso
/
msdos
/
turbopas
/
pull55.arc
/
PULLWORK.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1989-08-24
|
4KB
|
146 lines
{ =========================================================================== }
{ Pullwork.pas - Work Window procedures for main work ver 5.5, 08-24-89 }
{ area for PULLDEMO.PAS }
{ This file contains all the procedures executed for the Work Window. These }
{ are the main steps of your program. With this, you can create a sophisti- }
{ cated multi-level window environment. }
{ Copyright (c) 1987-1989 James H. LeMay, All rights reserved. }
{ =========================================================================== }
{ R-,S-,I-,D-,T-,F-,V-,B-,N-,L+ } { TP4 directives }
{$A-,B-,D-,E-,F-,I-,L-,N-,O-,R-,S-,V-} { TP5 directives }
{$define UseDataEntryCode }
{ define MultiWorkWndws }
UNIT PullWork;
INTERFACE
uses
Crt,Qwik,Wndw,Pull,PullStat
{$ifdef UseDataEntryCode }
,PullData;
{$else }
;
{$endif }
procedure WorkWndw;
IMPLEMENTATION
{ ========================= Work Window Steps =============================== }
{ This procedure will have all the procedures for the Work window(s). }
{ Each step assumes that some keystroke has been pressed and returns a value }
{ for Key and ExtKey and any necessary change to WorkWndwStep. }
{ --------------------------------------------------------------------------- }
var
Start1,Start2: word;
{$ifdef MultiWorkWndws }
procedure ResetWorkWndwStep;
begin
case TWS.WSname of
Window1: WorkWndwStep := 1;
Window2: WorkWndwStep := 3;
end;
end;
procedure HideWorkWndw;
begin
HideWindow;
TopWorkWndwName := TWS.WSname;
ResetWorkWndwStep;
end;
procedure AccessWorkWndw (WN: WindowNames);
begin
if WN<>TWS.WSname then
begin
{ -- if accessing a PermMode window, hide all upper windows. -- }
if (GetLevelIndex(WN)<=PLI) then
while (LI>PLI) do
HideWindow; { Use RemoveWindow for serial access }
AccessWindow (WN);
ResetWorkWndwStep;
end;
end;
{$endif }
{$F+}
procedure KbdIdle;
begin
{ Nothing to include this time, but fill in what you want to do while }
{ the keyboard is idle. }
end;
{$F-}
procedure ShowFields;
begin
WWrite (14,10,'Byte:');
WWrite (15,10,'Word:');
WWrite (16,10,'ShortInt:');
WWrite (17,10,'Integer:');
WWrite (18,10,'LongInt:');
WWrite (19,10,'Real:');
WWrite (14,39,'Hex:');
WWrite (15,39,'Char:');
WWrite (16,39,'String:');
WWrite (17,39,'File name:');
DisplayFields (ord(aByte2DE),ord(FileNameDE));
end;
{
procedure MakeWorkWndw2;
begin
SetWindowModes (HiddenMode);
MakeWindow ( 8,21,10,40,LightBlue+LightGrayBG,LightBlue+LightGrayBG,
DoubleBrdr,Window2);
SetWindowModes (0);
WriteToHidden (Window2);
TitleWindow (Top ,Left ,SameAttr,'2');
TitleWindow (Top ,Center,SameAttr,' Work Window 2 ');
TitleWindow (Bottom,Center,SameAttr,' Press ESC to Hide ');
WWriteC (1,'Type in any input');
WGotoRC (2,1);
WriteToCRT;
end;
}
procedure EditFields;
begin
{ Only FileName may have been changed }
DisplayFields (ord(FileNameDE),ord(FileNameDE));
EnterSeq (ord(aByte2DE),ord(FileNameDE),Start1);
end;
procedure InitWorkWndws;
begin
ShowFields;
WorkWndwStep := 1;
Key := NullKey; { #00 }
end;
procedure WorkWndw;
begin
{$ifdef MultiWorkWndws }
AccessWorkWndw (TopWorkWndwName);
{$endif }
case WorkWndwStep of
0: InitWorkWndws;
1: EditFields;
end;
end;
BEGIN
WorkWndwStep := 0; { Initial step for work windows. }
{$ifdef MultiWorkWndws }
TopWorkWndwName := Window1;
{$endif }
Start1 := ord(aByte2DE);
Start2 := ord(aHex2DE);
AddrWorkWndw := @WorkWndw;
AddrKbdIdle := @KbdIdle;
END.