home *** CD-ROM | disk | FTP | other *** search
- PROC PRINTSET
- STOR 20 TO RR
- STOR 0 TO CC
- @ RR,CC SAY SPAC(80)
- STOR SPAC(10) TO PRINTVAR
- STOR " " TO SPLVAR
- DO PRNTCODE
- DO WHIL .T.
- DO ASK2 WITH RR,CC,"Spooler (C)ancel-(D)isplay-(S)et up, (Q)ueue control, or (E)xit?","CDSQE",SPLVAR
- DO CASE
- CASE SPLVAR='D'
- SAVE SCREEN TO SPLSCRN
- CLEA
- !SPOOL SH
- WAIT
- CLEA
- RESTORE SCREEN FROM SPLSCRN
- CASE SPLVAR='S'
- DO SPOOL WITH RR,CC
- CASE SPLVAR='Q'
- DO QUEUE WITH RR,CC
- CASE SPLVAR='C'
- @ RR,CC SAY " "
- !ENDSPOOL C
- WAIT
- DO BLOCKCLR
- CASE SPLVAR='E'
- DO BLOCKCLR
- EXIT
- ENDC
- ENDD
- RETU
- PROC SPOOL
- PARA RR,CC
- PRIV SP1,SP2,SP3,SP4,SP5,SP6,SP7,SP8,SP9
- STOR " " TO SP7
- STOR "0" TO SP1,SP2
- STOR .F. TO SP3,SP6,SP5,SP9
- STOR SPAC(14) TO SP4
- STOR "0 " TO SP8
- DO WHIL .T.
- DO BLOCKCLR
- DO ASK2 WITH RR,CC,"Select printer (0=IBM, 1=LX-80)? or (E)xit set up","01E",SP1
- IF SP1="E"
- DO BLOCKCLR
- RETU
- ENDI
- @ RR,CC SAY "Printer "+SP1
- DO ASK2 WITH RR+1,CC,"Select number of copies 0-9 (0 for disk file only)?","0123456789",SP2
- @ RR+1,CC SAY SP2+" copies"
- DO ASKL WITH RR+2,CC,"Create disk file? (Y/N)",SP3
- IF SP3
- @ RR+2,CC SAY "Enter filename (With drive identifier) for disk file" GET SP4 PICT 'A:AXXXXXXXXXXX'
- READ
- @ RR+2,CC SAY SPAC(80)
- @ RR+2,CC SAY "Filename: "+SP4
- ENDI
- @ RR+3,CC SAY "Enter form type if needed (0-255)" GET SP8 PICT '999'
- READ
- DO ASKL WITH RR+4,CC,"Add form feed after print job (Y/N)?",SP9
- DO ASKL WITH RR+4,CC,"Execute spool command (Y/N)?",SP5
- IF SP5
- EXIT
- ENDI
- ENDD
- STOR " P"+SP1 TO SP7
- STOR SP7+" NB" TO SP7
- STOR SP7+" C="+TRIM(SP2) TO SP7
- STOR SP7+" F="+TRIM(SP8) TO SP7
- IF SP3
- STOR SP7+" CR="+TRIM(SP4) TO SP7
- ENDI
- IF SP9
- STOR SP7+" FF" TO SP7
- ELSE
- STOR SP7+" NFF" TO SP7
- ENDI
- DO BLOCKCLR
- @ RR,CC SAY " "
- !SPOOL &SP7
- WAIT
- DO BLOCKCLR
- DO ASKL WITH RR,CC,"Send special printer control codes (Y/N)?",SP6
- IF SP6
- DO CTLCODES WITH RR,CC
- ENDI
- RETU
- PROC QUEUE
- PARA RR,CC
- PRIV Q1,Q2,Q3,Q4,Q5,Q6,Q7
- STOR SPAC(12) TO Q1
- STOR USER TO Q5
- STOR STA TO Q4
- STOR "0" TO Q2
- STOR " " TO Q3
- STOR .F. TO Q6,Q7,Q8
- DO WHIL .T.
- DO BLOCKCLR
- DO ASK2 WITH RR,CC,"Select printer number (0/1) or (E)xit?","01E",Q2
- IF Q2="E"
- DO BLOCKCLR
- RETU
- ENDI
- @ RR,CC SAY "Printer "+Q2
- @ RR+1,CC SAY "Enter filespec , job number (#), or <RETURN>?" GET Q1 PICT 'XXXXXXXXXXXX'
- READ
- DO ASK2 WITH RR+2,CC,"List for (S)tation only, (U)ser only, or (A)ll?","SUA",Q3
- DO CASE
- CASE Q3='S'
- DO ASK2 WITH RR+2,CC,"Station number (1/2)?","12",Q4
- STOR "ST="+Q4 TO Q3
- @ RR+2,CC SAY "Station number "+Q4
- CASE Q3='U'
- @ RR+2,CC SAY "User name " GET Q5 PICT '@! '
- READ
- STOR "U="+TRIM(Q5) TO Q3
- CASE Q3='A'
- @ RR+2,CC SAY "All files"
- Q3=' '
- ENDC
- DO ASKL WITH RR+4,CC,"Delete these entries from queue (Y/N)?",Q6
- DO ASKL WITH RR+4,CC,"Detailed queue list (Y/N)?",Q7
- DO ASKL WITH RR+4,CC,"Execute queue command (Y/N)?",Q8
- IF Q8
- EXIT
- ENDI
- ENDD
- IF .NOT. EMPTY(Q1)
- Q1=" "+TRIM(Q1)+" "
- ELSE
- Q1=" "
- ENDI
- Q1=Q1+"/P="+Q2
- IF .NOT. EMPTY(Q3)
- Q1=Q1+" "+Q3
- ENDI
- IF Q6
- Q1=Q1+" D"
- ENDI
- IF .NOT. Q7
- Q1=Q1+" NL"
- ENDI
- SAVE SCREEN TO QSCRN
- CLEA
- !Q &Q1
- WAIT
- RESTORE SCREEN FROM QSCRN
- DO BLOCKCLR
- RETU
- PROC CTLCODES
- PARA RR,CC
- DO BLOCKCLR
- VALU='E'
- DO CASE
- CASE SP1="1"
- @ RR,CC SAY '(1) Letter quality on (2) Letter quality off'
- @ RR+1,CC SAY '(3) Graphic characters on (4) Graphic characters off'
- @ RR+2,CC SAY '(5) 20 chars. per inch on (6) 20 chars. per inch off'
- DO WHIL .T.
- @ RR+3,CC SAY '(7) 17 chars. per inch on (8) 17 chars. off {(E)xit } -> ' GET VALU PICT '@! X'
- READ
- DO CASE
- CASE VALU='1'
- PRINTVAR=L1QON
- CASE VALU='2'
- PRINTVAR=L1QOFF
- CASE VALU='3'
- PRINTVAR=G1RAPHON
- CASE VALU='4'
- PRINTVAR=G1RAPHOFF
- CASE VALU='5'
- PRINTVAR=E1LITEON
- CASE VALU='6'
- PRINTVAR=E1LITEOFF
- CASE VALU='7'
- PRINTVAR=C1OMPRON
- CASE VALU='8'
- PRINTVAR=C1OMPROFF
- CASE VALU='E'
- EXIT
- OTHE
- LOOP
- ENDC
- SET CONS OFF
- SET PRIN ON
- ?&PRINTVAR
- SET PRIN OFF
- SET CONS ON
- ENDD
- CASE SP1='0'
- @ RR,CC SAY '(1) Letter quality on (2) Letter quality off'
- @ RR+1,CC SAY '(3) 5 chars. per inch on (4) 5 chars per inch off'
- @ RR+2,CC SAY '(5) 12 chars. per inch on (6) 12 chars. per inch off'
- DO WHIL .T.
- @ RR+3,CC SAY '(7) 17 chars. per inch on (8) 17 chars. off {(E)xit } -> ' GET VALU PICT '@! X'
- READ
- DO CASE
- CASE VALU='1'
- PRINTVAR=LQON
- CASE VALU='2'
- PRINTVAR=LQOFF
- CASE VALU='3'
- PRINTVAR=ENLGON
- CASE VALU='4'
- PRINTVAR=ENLGOFF
- CASE VALU='5'
- PRINTVAR=ELITEON
- CASE VALU='6'
- PRINTVAR=ELITEOFF
- CASE VALU='7'
- PRINTVAR=COMPRON
- CASE VALU='8'
- PRINTVAR=COMPROFF
- CASE VALU='E'
- EXIT
- OTHE
- LOOP
- ENDC
- SET CONS OFF
- SET PRIN ON
- ?&PRINTVAR
- SET PRIN OFF
- SET CONS ON
- ENDD
- ENDC
- VALU=SPAC(20)
- DO BLOCKCLR
- RETU
- PROC ASKL
- PARA MLINE,MCOLUMN,MQUESTION,MANSWER
- @ MLINE,MCOLUMN SAY SPAC(LEN(MQUESTION)+4)
- STOR .F. TO MANSWER
- @ MLINE,MCOLUMN SAY MQUESTION GET MANSWER PICT '@L '
- READ
- @ MLINE,MCOLUMN SAY SPAC(LEN(MQUESTION)+4)
- RETU
- PROC ASK2
- PARA MLINE,MCOLUMN,MQUESTION,MCHOICES,MANSWER
- @ MLINE,MCOLUMN SAY SPAC(LEN(MQUESTION)+4)
- STOR " " TO MANSWER
- DO WHIL .NOT. MANSWER $ MCHOICES
- @ MLINE,MCOLUMN SAY MQUESTION GET MANSWER PICT "@! "
- READ
- ENDD
- @ MLINE,MCOLUMN SAY SPAC(LEN(MQUESTION)+4)
- RETU
- PROC BLOCKCLR
- @ RR,CC SAY SPAC(80)
- @ RR+1,CC SAY SPAC(80)
- @ RR+2,CC SAY SPAC(80)
- @ RR+3,CC SAY SPAC(80)
- @ RR+4,CC SAY SPAC(80)
- RETU
- PROC PRNTCODE
- LQON='CHR(27)+"I"+"2"' && CODES ON IBM PROPRINTER
- LQOFF='CHR(27)+"I"+"0"' && NETWORK PRINTER 0
- ELITEON='CHR(27)+":"'
- ELITEOFF='CHR(27)+"I"+"0"'
- COMPRON='CHR(15)'
- COMPROFF='CHR(18)'
- ENLGON='CHR(14)'
- ENLGOFF='CHR(20)'
- L1QON='CHR(27)+"x"+CHR(1)'
- L1QOFF='CHR(27)+"x"+CHR(0)'
- G1RAPHON='CHR(27)+CHR(109)+CHR(4)' && CODES ON LX80
- G1RAPHOFF='CHR(27)+CHR(109)+CHR(0)' && NETWORK PRINTER 1
- E1LITEON='CHR(27)+"M"+CHR(15)'
- E1LITEOFF='CHR(27)+"P"+CHR(18)'
- C1OMPRON='CHR(27)+CHR(15)'
- C1OMPROFF='CHR(27)+CHR(18)'
- E1NLGON='CHR(27)'
- E1NLGOFF='CHR(27)'
- RETU