Category : Pascal Source Code
Archive   : PULL5X.ZIP
Filename : PULLWORK.PAS

 
Output of file : PULLWORK.PAS contained in archive : PULL5X.ZIP
{ =========================================================================== }
{ Pullwork.pas - Work Window procedures for main work area ver 5.X, 01-07-89 }
{ 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.



  3 Responses to “Category : Pascal Source Code
Archive   : PULL5X.ZIP
Filename : PULLWORK.PAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/