home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
c
/
chkprn2.zip
/
GDEVICE_.CLA
< prev
next >
Wrap
Text File
|
1992-01-31
|
6KB
|
173 lines
MEMBER !DPP_NO_OPEN
!==============================================================================
! GetDevice_ Procedure
!==============================================================================
GetDevice_ FUNCTION(Dest_,Copies_,Viewing_)
Dest_ EXTERNAL
Copies_ EXTERNAL
Viewing_ BYTE
eViewingParm EQUATE(3)
Screen SCREEN WINDOW(8,50),AT(9,17),PRE(Scr),HUE(7,1)
ROW(1,49) PAINT(1,2),TRN
ROW(8,1) PAINT(1,2),TRN
ROW(8,3) PAINT(1,46),HUE(7,0),TRN
ROW(2,49) PAINT(7,2),HUE(7,0),TRN
ROW(1,1) STRING('╔═<0{44}>═╗'),ENH
ROW(2,1) REPEAT(5);STRING('║<0{46}>║'),ENH .
ROW(7,1) STRING('╚═{46}╝'),ENH
ROW(3,16) REPEAT(3);STRING('│'),HUE(3,1) .
ROW(1,3) STRING(' Please choose a destination for the report ') |
HUE(0,3)
ROW(3,5) STRING('Destination')
ROW(4,7) STRING('Name')
ROW(5,5) STRING('Copies')
Message ROW(2,10) STRING(30),ENH
COL(40) ENTRY,USE(?First_Field)
ROW(3,17) MENU(@S7),USE(Mem:PrnDest_),HUE(14,1),SEL(0,7),REQ
Choice1 COL(26) STRING(7),HUE(3,1),SEL(0,3)
Choice2 COL(34) STRING(6),HUE(3,1),SEL(0,3)
Choice3 COL(41) STRING(4),HUE(3,1),SEL(0,3)
.
ROW(4,17) ENTRY(@S30),USE(Tmp:PrnName_),HUE(14,1),SEL(0,7),LFT,UPR
COL(17) ENTRY(@S30),USE(Tmp:File),HUE(14,1),SEL(0,7),REQ,LFT,UPR
ROW(5,17) ENTRY(@N3),USE(Copies_),HUE(14,1),SEL(0,7),INS,REQ
COL(20) ENTRY,USE(?Last_Field)
.
GROUP,PRE(Tmp)
PrnName_ STRING(SIZE(Mem:PrnName_))
SaveDest STRING(SIZE(Mem:PrnDest_))
File STRING(SIZE(Mem:Device))
RetVal BYTE
.
!--------------
! Code Section
!--------------
CODE
OpenPC_(PrnCtl__O#)
Tmp:RetVal = False
!------------------
! Initalize Screen
!------------------
OPEN(Screen) !Open Screen
DO SetMenu
ERASE(?Tmp:File)
ERASE(?Tmp:PrnName_)
LOOP !Loop
Scr:Message=CENTER(Mem:Message,SIZE(Scr:Message)) !Set Screen Message
ALERT ! Clear Alerted Keys
ALERT(Accept_Key) ! Alert Accept Key
ALERT(Reject_Key) ! Alert Reject Key
ALERT(Tab_Key) ! Alert Tab Key
ALIAS(Up_Key,Esc_Key)
ACCEPT ! Get A Field
ALIAS(Up_Key,Up_Key)
UPDATE(?)
CLEAR(Mem:Message) ! Clear Message
IF KEYCODE() = Reject_Key ! If Reject Key Pressed
BREAK ! Quit Procedure
ELSIF KEYCODE() = Tab_Key ! If Tab Key Pressed
UPDATE(?) ! Save Current Field
ELSIF KEYCODE() = Accept_Key ! If Accept Key Pressed
UPDATE(?) ! Save Current Field
SELECT(?) ! Select Same Field
SELECT ! Turn On Full Screen Mode
CYCLE ! Cycle For Another Accept
. ! .
CASE FIELD() ! Depending On Field
OF ?First_Field ! If First Field
IF KEYCODE()=Esc_Key THEN BREAK. ! Break On Esc Key
OF ?Mem:PrnDest_ ! If Destination Field
CASE Mem:PrnDest_ ! Depending On Choice
OF 'Printer' ! If "Printer"
ERASE(?Tmp:File)
Tmp:PrnName_ = Mem:PrnName_
DISPLAY(?Tmp:PrnName_)
Dest_ = eToPrinter ! Printing
SELECT(?) !
IF sAskPrnName OR Mem:PrnName_=''
SELECT(?Tmp:PrnName_) !
ELSE
SELECT(?Copies_) ! Select Next Field
.
OF 'Screen' ! If "Screen"
ERASE(?Tmp:File)
ERASE(?Tmp:PrnName_)
Mem:Device = RandomFile_() ! Create Random Filename
Tmp:File = 'CON'; DISPLAY(?Tmp:File) ! Set Device For "Con"
Dest_ = eToScreen ! Viewing
Copies_ = 1 !
SELECT(?) ! Turn Off Full Screen
SELECT(?Last_Field) ! Select Next Field
OF 'Disk' ! If "Disk"
ERASE(?Tmp:File) !
ERASE(?Tmp:PrnName_) !
Dest_ = eToDisk ! Disking
SELECT(?) ! Turn Off Full Screen
SELECT(?Tmp:File) ! Jump To File Field
. ! .
OF ?Tmp:PrnName_ ! If Printer Field
SELECT(?Tmp:PrnName_) ! Turn Off Full Screen
IF GetPrnCtl_(Tmp:PrnName_,Mem:Device)
DISPLAY(?Tmp:PrnName_)
SELECT(?Copies_) ! Select Next Field
.
OF ?Tmp:File !Only When "File" Chosen ! If File Field
IF SUB(UPPER(CLIP(Tmp:File)),-4,4)='.DAT' ! If Extension Is .Dat
Mem:Message='Name cannot end with ".DAT"'! Display Error Message
BEEP ! Beep
SELECT(?) ! Select Same Field
ELSE ! Else (Not .Dat)
Mem:Device = Tmp:File ! Save In Global Device
Copies_ = 1 !
SELECT(?) ! Turn Off Full Screen
SELECT(?Last_Field) ! Select Next Field
. ! .
OF ?Last_Field ! If Pause Field
IF KEYCODE() = Enter_Key | ! If Enter Key Pressed
OR KEYCODE() = Accept_Key ! Or Accept Key Pressed
IF Dest_=eToPrinter
INCLUDE('ChkPrn_.Cpy')
.
Tmp:RetVal = True !
BREAK ! Break From Edit Loop
ELSE ! Else (Invalid Key)
SELECT(?) ! Stay in Pause Field
IF KEYCODE() THEN BEEP. ! Beep If Not Full Screen
. . . !. . .
DO Quit
Quit ROUTINE
ClosePC_(PrnCtl__O#)
RETURN(Tmp:RetVal)
SetMenu ROUTINE
IF OMITTED(eViewingParm)
Scr:Choice1 = 'Printer'
Scr:Choice2 = 'Screen'
Scr:Choice3 = 'Disk'
ELSE
Scr:Choice1 = 'Printer'
Scr:Choice2 = 'Disk'
Scr:Choice3 = ''
Tmp:SaveDest = Mem:PrnDest_
Mem:PrnDest_ = ''
.
EJECT