1231 lines
38 KiB
Plaintext
1231 lines
38 KiB
Plaintext
|
|
#Include "MyStd.ch"
|
|
#INCLUDE "INKEY.CH"
|
|
#INCLUDE "FIVEWIN.CH"
|
|
#INCLUDE "DBINFO.CH"
|
|
#INCLUDE "COMMON.CH"
|
|
|
|
|
|
**********
|
|
// THIS PRG IS A print port manager for lib programs
|
|
// needing multiple output routings.
|
|
// will be called IF FILE('PRINTERS.DBF')
|
|
|
|
FUNCTION CUSTOMPRINT_WINDOWS( )
|
|
|
|
LOCAL CLOSE_ARR := {}, PRN_LIST := {}
|
|
LOCAL RETVAL := .T., oDIALOG
|
|
|
|
LOCAL OSAY101A, OSAY101B
|
|
LOCAL OSAY102A, OSAY102B
|
|
LOCAL OSAY103A, OSAY103B
|
|
LOCAL OSAY104A, OSAY104B
|
|
LOCAL OSAY105A, OSAY105B
|
|
LOCAL OSAY106A, OSAY106B
|
|
LOCAL OSAY107A, OSAY107B
|
|
LOCAL OSAY108A, OSAY108B
|
|
LOCAL OSAY109A, OSAY109B
|
|
LOCAL OSAY110A, OSAY110B
|
|
LOCAL OSAY111A, OSAY111B
|
|
LOCAL OSAY112A, OSAY112B
|
|
|
|
LOCAL MRPTPRTR := GETPRINTER('ReportPrinter')
|
|
LOCAL MRPTPORT := GETPRINTER('ReportPort')
|
|
LOCAL MRPTDEV := GETPRINTER('ReportDevice')
|
|
|
|
LOCAL MPRODPRTR := GETPRINTER('ProdPrinter')
|
|
LOCAL MPRODPORT := GETPRINTER('ProdPort')
|
|
LOCAL MPRODDEV := GETPRINTER('ProdDevice')
|
|
|
|
LOCAL MORDPRTR := GETPRINTER('OrdDeskPrinter')
|
|
LOCAL MORDPORT := GETPRINTER('OrdDeskPort')
|
|
LOCAL MORDDEV := GETPRINTER('OrdDeskDevice')
|
|
|
|
LOCAL MINVPRTR := GETPRINTER('InvPrinter')
|
|
LOCAL MINVPORT := GETPRINTER('InvPort')
|
|
LOCAL MINVDEV := GETPRINTER('InvDevice')
|
|
|
|
LOCAL MDELPRTR := GETPRINTER('DelPrinter')
|
|
LOCAL MDELPORT := GETPRINTER('DelPort')
|
|
LOCAL MDELDEV := GETPRINTER('DelDevice')
|
|
|
|
LOCAL MGOLDPRTR := GETPRINTER('GoldenPrinter')
|
|
LOCAL MGOLDPORT := GETPRINTER('GoldenPort')
|
|
LOCAL MGOLDDEV := GETPRINTER('GoldenDevice' )
|
|
|
|
LOCAL MMAILPRTR := GETPRINTER('MailLblPrinter')
|
|
LOCAL MMAILPORT := GETPRINTER('MailLblPort')
|
|
LOCAL MMAILDEV := GETPRINTER('MailLblDevice')
|
|
|
|
LOCAL MICOMPPRTR := GETPRINTER('InterCompPrinter')
|
|
LOCAL MICOMPPORT := GETPRINTER('InterCompPort')
|
|
LOCAL MICOMPDEV := GETPRINTER('InterCompDevice')
|
|
|
|
LOCAL MBACKOPRTR := GETPRINTER('BackOrdPrinter')
|
|
LOCAL MBACKOPORT := GETPRINTER('BackOrdPort')
|
|
LOCAL MBACKODEV := GETPRINTER('BackOrdDevice')
|
|
|
|
LOCAL MQUOTEPRTR := GETPRINTER('QuotePrinter')
|
|
LOCAL MQUOTEPORT := GETPRINTER('QuotePort')
|
|
LOCAL MQUOTEDEV := GETPRINTER('QuoteDevice')
|
|
|
|
LOCAL MPREBPRTR := GETPRINTER('PreBillPrinter')
|
|
LOCAL MPREBPORT := GETPRINTER('PreBillPort')
|
|
LOCAL MPREBDEV := GETPRINTER('PreBillDevice')
|
|
|
|
LOCAL MPRECPRTR := GETPRINTER('PreCostPrinter')
|
|
LOCAL MPRECPORT := GETPRINTER('PreCostPort')
|
|
LOCAL MPRECDEV := GETPRINTER('PreCostDevice')
|
|
|
|
SET RESOURCES TO //** GET RESOURCES FROM THE ".EXE"
|
|
DEFINE DIALOG oDIALOG RESOURCE "DLG_PRNTR9" //** P3N - 09/13/04 NEW PRINTER DIALOG - HARBOUR/FWH UPGRADE
|
|
|
|
REDEFINE SAY oSAY101A VAR MRPTPRTR ID 101 OF oDIALOG
|
|
REDEFINE SAY oSAY101B VAR MRPTPORT ID 102 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY102A VAR MPRODPRTR ID 103 OF oDIALOG
|
|
REDEFINE SAY oSAY102B VAR MPRODPORT ID 104 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY103A VAR MORDPRTR ID 105 OF oDIALOG
|
|
REDEFINE SAY oSAY103B VAR MORDPORT ID 106 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY104A VAR MINVPRTR ID 107 OF oDIALOG
|
|
REDEFINE SAY oSAY104B VAR MINVPORT ID 108 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY105A VAR MDELPRTR ID 109 OF oDIALOG
|
|
REDEFINE SAY oSAY105B VAR MDELPORT ID 110 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY106A VAR MGOLDPRTR ID 111 OF oDIALOG
|
|
REDEFINE SAY oSAY106B VAR MGOLDPORT ID 112 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY107A VAR MMAILPRTR ID 113 OF oDIALOG
|
|
REDEFINE SAY oSAY107B VAR MMAILPORT ID 114 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY108A VAR MICOMPPRTR ID 115 OF oDIALOG
|
|
REDEFINE SAY oSAY108B VAR MICOMPPORT ID 116 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY109A VAR MBACKOPRTR ID 117 OF oDIALOG
|
|
REDEFINE SAY oSAY109B VAR MBACKOPORT ID 118 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY110A VAR MQUOTEPRTR ID 119 OF oDIALOG
|
|
REDEFINE SAY oSAY110B VAR MQUOTEPORT ID 120 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY111A VAR MPREBPRTR ID 121 OF oDIALOG
|
|
REDEFINE SAY oSAY111B VAR MPREBPORT ID 122 OF oDIALOG
|
|
|
|
REDEFINE SAY oSAY112A VAR MPRECPRTR ID 123 OF oDIALOG
|
|
REDEFINE SAY oSAY112B VAR MPRECPORT ID 124 OF oDIALOG
|
|
|
|
|
|
REDEFINE BUTTON ID 9901 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Report'), ;
|
|
MRPTPRTR := GETPRINTER('ReportPrinter'), ;
|
|
MRPTPORT := GETPRINTER('ReportPort'), ;
|
|
oSAY101a:REFRESH(), ;
|
|
oSAY101b:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9902 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Prod'), ;
|
|
MPRODPRTR := GETPRINTER('ProdPrinter'),;
|
|
MPRODPORT := GETPRINTER('ProdPort'), ;
|
|
oSAY102a:REFRESH(), ;
|
|
oSAY102b:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9903 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('OrdDesk'), ;
|
|
MORDPRTR := GETPRINTER('OrdDeskPrinter'),;
|
|
MORDPORT := GETPRINTER('OrdDeskPort'), ;
|
|
oSAY103A:REFRESH(), ;
|
|
oSAY103B:REFRESH() )
|
|
|
|
REDEFINE BUTTON ID 9904 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Inv'), ;
|
|
MINVPRTR := GETPRINTER('InvPrinter'), ;
|
|
MINVPORT := GETPRINTER('InvPort'), ;
|
|
oSAY104A:REFRESH(), ;
|
|
oSAY104B:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9905 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Del'), ;
|
|
MDELPRTR := GETPRINTER('DelPrinter'),;
|
|
MDELPORT := GETPRINTER('DelPort'), ;
|
|
oSAY105A:REFRESH(), ;
|
|
oSAY105B:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9906 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Golden'), ;
|
|
MPRODPRTR := GETPRINTER('GoldenPrinter'),;
|
|
MPRODPORT := GETPRINTER('GoldenPort'), ;
|
|
oSAY106A:REFRESH(), ;
|
|
oSAY106B:REFRESH() )
|
|
|
|
REDEFINE BUTTON ID 9907 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('MailLbl'), ;
|
|
MMAILPRTR := GETPRINTER('MailLblPrinter'),;
|
|
MMAILPORT := GETPRINTER('MailLblPort'), ;
|
|
oSAY107A:REFRESH(), ;
|
|
oSAY107B:REFRESH() )
|
|
|
|
REDEFINE BUTTON ID 9908 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('InterComp'), ;
|
|
MICOMPPRTR := GETPRINTER('InterCompPrinter'), ;
|
|
MICOMPPORT := GETPRINTER('InterCompPort'), ;
|
|
oSAY108A:REFRESH(), ;
|
|
oSAY108B:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9909 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('BackOrd'), ;
|
|
MBACKOPRTR := GETPRINTER('BackOrdPrinter'),;
|
|
MBACKOPORT := GETPRINTER('BackOrdPort'), ;
|
|
oSAY109A:REFRESH(), ;
|
|
oSAY109B:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9910 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('Quote'), ;
|
|
MQUOTEPRTR := GETPRINTER('QuotePrinter'),;
|
|
MQUOTEPORT := GETPRINTER('QuotePort'), ;
|
|
oSAY110A:REFRESH(), ;
|
|
oSAY110B:REFRESH() )
|
|
|
|
REDEFINE BUTTON ID 9911 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('PreBill'), ;
|
|
MPREBPRTR := GETPRINTER('PreBillPrinter'), ;
|
|
MPREBPORT := GETPRINTER('PreBillPort'), ;
|
|
oSAY111A:REFRESH(), ;
|
|
oSAY111B:REFRESH() )
|
|
|
|
REDEFINE BUTTON ID 9912 OF oDIALOG ;
|
|
ACTION ( SETPRNTR('PreCost'), ;
|
|
MPRECPRTR := GETPRINTER('PreCostPrinter'), ;
|
|
MPRECPORT := GETPRINTER('PreCostPort'), ;
|
|
oSAY112A:REFRESH(), ;
|
|
oSAY112B:REFRESH() )
|
|
|
|
|
|
REDEFINE BUTTON ID 9999 OF oDIALOG ;
|
|
CANCEL ;
|
|
ACTION odialog:end()
|
|
|
|
ACTIVATE DIALOG oDIALOG CENTERED ;
|
|
VALID(MRPTPRTR := GETPRINTER('ReportPrinter'), ;
|
|
MPRODPRTR := GETPRINTER('ProdPrinter'), ;
|
|
MORDPRTR := GETPRINTER('OrdDeskPrinter'),;
|
|
MINVPRTR := GETPRINTER('InvPrinter'), ;
|
|
MDELPRTR := GETPRINTER('DelPrinter'), ;
|
|
MGOLDPRTR := GETPRINTER('GoldenPrinter'), ;
|
|
MMAILPRTR := GETPRINTER('MailLblPrinter'), ;
|
|
MICOMPPRTR := GETPRINTER('InterCompPrinter'), ;
|
|
MBACKOPRTR := GETPRINTER('BackOrdPrinter'), ;
|
|
MQUOTEPRTR := GETPRINTER('QuotePrinter'), ;
|
|
MPREBPRTR := GETPRINTER('PreBillPrinter'), ;
|
|
MPRECPRTR := GETPRINTER('PreCostPrinter'), ;
|
|
RETVAL := VALIDPRTRS( MRPTPRTR, MPRODPRTR, MORDPRTR, MINVPRTR, ;
|
|
MDELPRTR, MGOLDPRTR, MMAILPRTR, MICOMPPRTR, ;
|
|
MBACKOPRTR, MQUOTEPRTR, MPREBPRTR, MPRECPRTR ) )
|
|
|
|
|
|
|
|
|
|
RETURN RETVAL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*********************************************************
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
|
|
//* - SELECT A PRINTER FROM THE TABLE BELOW
|
|
//*
|
|
//* draw input screen
|
|
//*
|
|
/*
|
|
AADD(PRN_LIST , 'OKI')
|
|
AADD(PRN_LIST , 'EPS')
|
|
AADD(PRN_LIST , 'PRW')
|
|
AADD(PRN_LIST , 'PRN')
|
|
AADD(PRN_LIST , 'P90')
|
|
AADD(PRN_LIST , 'HPJ')
|
|
AADD(PRN_LIST , 'HPD')
|
|
AADD(PRN_LIST , 'HP4')
|
|
|
|
|
|
|
|
_REPTPRNT := STR(ASCAN(PRN_LIST, {|X| X = REPT_PRN}),1)
|
|
_BOPRNT := STR(ASCAN(PRN_LIST, {|X| X = BO_PRN}),1) //** P3N - 4/30/98
|
|
_PRODPRNT := STR(ASCAN(PRN_LIST, {|X| X = PROD_PRN}),1)
|
|
_ODPRNT := STR(ASCAN(PRN_LIST, {|X| X = OD_PRN}),1)
|
|
_INVPRNT := STR(ASCAN(PRN_LIST, {|X| X = INV_PRN}),1)
|
|
_DELPRNT := STR(ASCAN(PRN_LIST, {|X| X = DEL_PRN}),1)
|
|
_GRPRNT := STR(ASCAN(PRN_LIST, {|X| X = GR_PRN}),1)
|
|
_ICPRNT := STR(ASCAN(PRN_LIST, {|X| X = IC_PRN}),1)
|
|
_LBLPRNT := STR(ASCAN(PRN_LIST, {|X| X = LBL_PRN}),1)
|
|
_QTEPRNT := STR(ASCAN(PRN_LIST, {|X| X = INV_PRN}),1)
|
|
_PREPRNT := STR(ASCAN(PRN_LIST, {|X| X = INV_PRN}),1)
|
|
IF FIELDPOS('QTE_PRN') > 0 //** P3N - 4/13/98
|
|
_QTEPRNT := STR(ASCAN(PRN_LIST, {|X| X = QTE_PRN}),1)
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PRN') > 0 //** P3N - 4/13/98
|
|
_PREPRNT := STR(ASCAN(PRN_LIST, {|X| X = PRE_PRN}),1)
|
|
ENDIF
|
|
M_LPTR := REPT_PORT
|
|
M_LPTP := PROD_PORT
|
|
M_LPTO := OD_PORT
|
|
M_LPTI := INV_PORT
|
|
M_LPTD := DEL_PORT
|
|
M_LPTG := GR_PORT
|
|
M_LPTL := LBL_PORT
|
|
M_LPTIC := IC_PORT
|
|
M_LPTBO := BO_PORT //** P3N - 4/30/98
|
|
M_LPTQ := INV_PORT //** P3N - 4/13/98
|
|
M_LPTPRE := INV_PORT //** P3N - 4/13/98
|
|
IF FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
M_LPTQ := QTE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
M_LPTPRE := PRE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
|
|
SELECT WORKSTAT
|
|
|
|
DO WHILE .T.
|
|
CLEAR
|
|
TITLE = 'SELECT PRINTER'
|
|
H = ((80 - LEN(TITLE)) / 2)
|
|
@ 0,H SAY TITLE
|
|
@ 0,74 SAY 'PDEF'
|
|
@ 1,0 SAY DOUBLE
|
|
@ 3,72 SAY DTOC(DATE())
|
|
@ 5,28 SAY " AVAILABLE PRINTERS "
|
|
@ 6,28 SAY " ================== "
|
|
@ 7,26 SAY "1. Okidata Microline 84"
|
|
@ 8,26 SAY "2. Epson (All Models)"
|
|
@ 9,26 SAY "3. HP LaserJet "
|
|
**@ 9,26 SAY "3. IBM Proprinter - Wide Carriage"
|
|
**@ 10,26 SAY "4. IBM Proprinter - Narrow Carriage"
|
|
**@ 11,26 SAY "5. IBM Proprinter - Model 2390 Narrow"
|
|
**@ 13,26 SAY "7. HP LaserJet IIID (Duplex printer)"
|
|
**@ 14,26 SAY "8. HP LaserJet 4SI (Duplex printer)"
|
|
**@ 10,26 SAY "X. RETURN "
|
|
LOOP4100 := .T.
|
|
DO WHILE LOOP4100
|
|
SET CONFIRM OFF
|
|
@ 4,72 SAY TIME()
|
|
|
|
@ 12,10 SAY " Select REPORTS Printer : : LPT Port : :"
|
|
@ 13,10 SAY " Select PRODUCTION Printer : : LPT Port : :"
|
|
@ 14,10 SAY " Select ORDER DESK Printer : : LPT Port : :"
|
|
@ 15,10 SAY " Select INVOICE Printer : : LPT Port : :"
|
|
@ 16,10 SAY " Select DELIVERY Printer : : LPT Port : :"
|
|
@ 17,10 SAY " Select GOLDEN ROD Printer : : LPT Port : :"
|
|
@ 18,10 SAY "Select MAILING LABEL Printer : : LPT Port : :"
|
|
@ 19,10 SAY " Select INTERCOMPANY Printer : : LPT Port : :"
|
|
@ 20,10 SAY " Select BACKORDER Printer : : LPT Port : :" //** P3N 4/30/98
|
|
IF FIELDPOS('QTE_PRN') > 0 .AND. FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
@ 21,10 SAY " Select QUOTE Printer : : LPT Port : :"
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PRN') > 0 .AND. FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
@ 22,10 SAY " Select PREBILL Printer : : LPT Port : :"
|
|
ENDIF
|
|
|
|
DO WHILE .T.
|
|
//** P3N 4/16/99 ADDED LPT4 OPTION
|
|
@ 12,39 GET _REPTPRNT PICTURE '9' VALID CHK_PRN(_REPTPRNT)
|
|
//** @ 12,54 GET M_LPTR PICTURE '9' VALID M_LPTR$'123'
|
|
@ 12,54 GET M_LPTR PICTURE '9' VALID M_LPTR$'1234'
|
|
@ 13,39 GET _PRODPRNT PICTURE '9' VALID CHK_PRN(_PRODPRNT)
|
|
//** @ 13,54 GET M_LPTP PICTURE '9' VALID M_LPTP$'123'
|
|
@ 13,54 GET M_LPTP PICTURE '9' VALID M_LPTP$'1234'
|
|
@ 14,39 GET _ODPRNT PICTURE '9' VALID CHK_PRN(_ODPRNT)
|
|
//** @ 14,54 GET M_LPTO PICTURE '9' VALID M_LPTO$'123'
|
|
@ 14,54 GET M_LPTO PICTURE '9' VALID M_LPTO$'1234'
|
|
@ 15,39 GET _INVPRNT PICTURE '9' VALID CHK_PRN(_INVPRNT)
|
|
//** @ 15,54 GET M_LPTI PICTURE '9' VALID M_LPTI$'123'
|
|
@ 15,54 GET M_LPTI PICTURE '9' VALID M_LPTI$'1234'
|
|
@ 16,39 GET _DELPRNT PICTURE '9' VALID CHK_PRN(_DELPRNT)
|
|
//** @ 16,54 GET M_LPTD PICTURE '9' VALID M_LPTD$'123'
|
|
@ 16,54 GET M_LPTD PICTURE '9' VALID M_LPTD$'1234'
|
|
@ 17,39 GET _GRPRNT PICTURE '9' VALID CHK_PRN(_GRPRNT)
|
|
//** @ 17,54 GET M_LPTG PICTURE '9' VALID M_LPTG$'123'
|
|
@ 17,54 GET M_LPTG PICTURE '9' VALID M_LPTG$'1234'
|
|
@ 18,39 GET _LBLPRNT PICTURE '9' VALID CHK_PRN(_LBLPRNT)
|
|
//** @ 18,54 GET M_LPTL PICTURE '9' VALID M_LPTL$'123'
|
|
@ 18,54 GET M_LPTL PICTURE '9' VALID M_LPTL$'1234'
|
|
@ 19,39 GET _ICPRNT PICTURE '9' VALID CHK_PRN(_ICPRNT)
|
|
//** @ 19,54 GET M_LPTIC PICTURE '9' VALID M_LPTIC$'123'
|
|
@ 19,54 GET M_LPTIC PICTURE '9' VALID M_LPTIC$'1234'
|
|
@ 20,39 GET _BOPRNT PICTURE '9' VALID CHK_PRN(_BOPRNT) //** P3N - 4/30/98
|
|
//** @ 20,54 GET M_LPTBO PICTURE '9' VALID M_LPTBO$'123'
|
|
@ 20,54 GET M_LPTBO PICTURE '9' VALID M_LPTBO$'1234'
|
|
IF FIELDPOS('QTE_PRN') > 0 .AND. FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
@ 21,39 GET _QTEPRNT PICTURE '9' VALID CHK_PRN(_QTEPRNT)
|
|
//** @ 21,54 GET M_LPTQ PICTURE '9' VALID M_LPTQ$'123'
|
|
@ 21,54 GET M_LPTQ PICTURE '9' VALID M_LPTQ$'1234'
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PRN') > 0 .AND. FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
@ 22,39 GET _PREPRNT PICTURE '9' VALID CHK_PRN(_PREPRNT)
|
|
//** @ 22,54 GET M_LPTPRE PICTURE '9' VALID M_LPTPRE$'123'
|
|
@ 22,54 GET M_LPTPRE PICTURE '9' VALID M_LPTPRE$'1234'
|
|
ENDIF
|
|
|
|
READ
|
|
IF LASTKEY() == 27 .AND. PROCNAME(1) <> 'SET_PRNT_P'
|
|
CLS
|
|
FOR L = 1 TO LEN(CLOSE_ARR)
|
|
MFILE = CLOSE_ARR[L]
|
|
SELECT(MFILE)
|
|
USE
|
|
NEXT
|
|
RETURN
|
|
ENDIF
|
|
|
|
IF EMPTY(M_LPTR) .OR. EMPTY(M_LPTP) .OR. EMPTY(M_LPTO);
|
|
.OR. EMPTY(M_LPTI) .OR. EMPTY(M_LPTD) .OR. EMPTY(M_LPTG)
|
|
LOOP
|
|
ENDIF
|
|
CORR = CORRCHEK()
|
|
IF CORR = 'Y'
|
|
LOOP4100 := .F.
|
|
EXIT
|
|
ENDIF
|
|
IF LASTKEY() == 27 .AND. PROCNAME(1) <> 'SET_PRNT_P'
|
|
CLEAR
|
|
FOR L = 1 TO LEN(CLOSE_ARR)
|
|
MFILE = CLOSE_ARR[L]
|
|
SELECT(MFILE)
|
|
USE
|
|
NEXT
|
|
RETURN
|
|
ENDIF
|
|
ENDDO
|
|
ENDDO
|
|
SETCOLOR(LNOR)
|
|
SELECT WORKSTAT
|
|
REC_LOCK(1)
|
|
REPLACE REPT_PRN WITH PRN_LIST[VAL(_REPTPRNT)]
|
|
REPLACE PROD_PRN WITH PRN_LIST[VAL(_PRODPRNT)]
|
|
REPLACE OD_PRN WITH PRN_LIST[VAL(_ODPRNT)]
|
|
REPLACE INV_PRN WITH PRN_LIST[VAL(_INVPRNT)]
|
|
REPLACE DEL_PRN WITH PRN_LIST[VAL(_DELPRNT)]
|
|
REPLACE GR_PRN WITH PRN_LIST[VAL(_GRPRNT)]
|
|
REPLACE LBL_PRN WITH PRN_LIST[VAL(_LBLPRNT)]
|
|
REPLACE IC_PRN WITH PRN_LIST[VAL(_ICPRNT)]
|
|
REPLACE BO_PRN WITH PRN_LIST[VAL(_BOPRNT)] //** P3N - 4/30/98
|
|
IF FIELDPOS('QTE_PRN') > 0 //** P3N - 4/13/98
|
|
REPLACE QTE_PRN WITH PRN_LIST[VAL(_QTEPRNT)] //** P3N - 4/13/98
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PRN') > 0 //** P3N - 4/13/98
|
|
REPLACE PRE_PRN WITH PRN_LIST[VAL(_PREPRNT)] //** P3N - 4/13/98
|
|
ENDIF
|
|
REPLACE REPT_PORT WITH M_LPTR
|
|
REPLACE PROD_PORT WITH M_LPTP
|
|
REPLACE OD_PORT WITH M_LPTO
|
|
REPLACE INV_PORT WITH M_LPTI
|
|
REPLACE DEL_PORT WITH M_LPTD
|
|
REPLACE GR_PORT WITH M_LPTG
|
|
REPLACE LBL_PORT WITH M_LPTL
|
|
REPLACE IC_PORT WITH M_LPTIC
|
|
REPLACE BO_PORT WITH M_LPTBO //** P3N - 4/30/98
|
|
IF FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
REPLACE QTE_PORT WITH M_LPTQ //** P3N - 4/13/98
|
|
ENDIF
|
|
IF FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
REPLACE PRE_PORT WITH M_LPTPRE //** P3N - 4/13/98
|
|
ENDIF
|
|
// RESET THE SYSTEM VARIABLES TOO!!!
|
|
**SET_PRNT_PARMS(.F.) //p3n - 2-6-98
|
|
|
|
FOR L = 1 TO LEN(CLOSE_ARR)
|
|
MFILE = CLOSE_ARR[L]
|
|
SELECT(MFILE)
|
|
USE
|
|
NEXT
|
|
|
|
CLEAR SCREEN
|
|
RETURN
|
|
ENDDO WHILE .T.
|
|
|
|
*/
|
|
|
|
|
|
* * * * * * * * * * * * * * * * *
|
|
PROCEDURE SET_PRNT_PARMS(NO_SET_PORT)
|
|
// THIS WILL SET UP THE PRINTER VARIABLES
|
|
// FOR FORMS, REPORTS, AND ANY LOCAL PRINTING
|
|
|
|
LOCAL SEEKKEY, CLOSE_IT, SAVESEL := SELECT(), SVREC
|
|
|
|
IF NO_SET_PORT = NIL
|
|
NO_SET_PORT := .T.
|
|
ENDIF
|
|
|
|
TOFILE := SYSCODE + '1WS'
|
|
|
|
IF SELECT('WORKSTAT') = 0
|
|
NET_USE('&WORKSTAT', .F., 5, 'WORKSTAT')
|
|
CLOSE_IT = .T.
|
|
ELSE
|
|
SELECT WORKSTAT
|
|
CLOSE_IT = .F.
|
|
ENDIF
|
|
|
|
|
|
|
|
*****SEEKKEY = NETNAME()
|
|
SEEKKEY := WSID
|
|
IF LEN(TRIM(SEEKKEY)) = 0
|
|
SEEKKEY = 'SINGLE'
|
|
ENDIF
|
|
|
|
LOCATE FOR ALLTRIM( WS_ID ) == ALLTRIM ( SEEKKEY )
|
|
IF !FOUND()
|
|
**ADD_REC(3)
|
|
**REPLACE WS_ID WITH NETNAME()
|
|
SVREC := RECNO()
|
|
INITWS() // NEW WORKSTATION REC - SET DEFAULTS -
|
|
INDEX_WS()
|
|
**SELECT WORKSTAT
|
|
GOTO SVREC
|
|
REC_LOCK(1)
|
|
REPLACE LNOR_VAR WITH LNOR
|
|
REPLACE HNOR_VAR WITH HNOR
|
|
REPLACE UNDR_VAR WITH UNDR
|
|
REPLACE HREV_VAR WITH HREV
|
|
REPLACE BLOW_VAR WITH BLOW
|
|
REPLACE BREV_VAR WITH BREV
|
|
SELPRINT() // GO GET PRINTER SELECTION INFO
|
|
ELSE
|
|
_REPORT := WORKSTAT->REPT_PRN
|
|
_PRODUCTION := WORKSTAT->PROD_PRN
|
|
_ORDERDESK := WORKSTAT->OD_PRN
|
|
_INVOICE := WORKSTAT->INV_PRN
|
|
_BOPRN := WORKSTAT->BO_PRN //** P3N - 4/30/98
|
|
_QUOTE := WORKSTAT->INV_PRN //** P3N - 4/13/98
|
|
IF FIELDPOS('QTE_PRN') > 0 //** P3N - 4/13/98
|
|
_QUOTE := WORKSTAT->QTE_PRN //** P3N - 4/13/98
|
|
ENDIF
|
|
_PREBILL := WORKSTAT->INV_PRN //** P3N - 4/13/98
|
|
IF FIELDPOS('PRE_PRN') > 0 //** P3N - 4/13/98
|
|
_PREBILL := WORKSTAT->PRE_PRN //** P3N - 4/13/98
|
|
ENDIF
|
|
_DELIVERY := WORKSTAT->DEL_PRN
|
|
_GOLDEN := WORKSTAT->GR_PRN
|
|
_LBLPRN := WORKSTAT->LBL_PRN
|
|
_ICPRN := WORKSTAT->IC_PRN
|
|
_PRECOST := WORKSTAT->INV_PRN //** P3N - 4/13/98
|
|
|
|
IF !EMPTY(REPT_PORT)
|
|
_RPTPORT = 'LPT' + REPT_PORT
|
|
ELSE
|
|
_RPTPORT = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(PROD_PORT)
|
|
_PORT_PROD = 'LPT' + PROD_PORT
|
|
ELSE
|
|
_PORT_PROD = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(OD_PORT)
|
|
_PORT_ORDER = 'LPT' + OD_PORT
|
|
ELSE
|
|
_PORT_ORDER = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(INV_PORT)
|
|
_PORT_INVOICE = 'LPT' + INV_PORT
|
|
ELSE
|
|
_PORT_INVOICE = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(BO_PORT) //** P3N - 4/30/98
|
|
_PORT_BO := 'LPT' + BO_PORT //** P3N - 4/30/98
|
|
ELSE //** P3N - 4/30/98
|
|
_PORT_BO := 'LPT1' //** P3N - 4/30/98
|
|
ENDIF //** P3N - 4/30/98
|
|
|
|
_PORT_QUOTE := 'LPT1' //** P3N - 4/13/98
|
|
IF FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
IF !EMPTY(QTE_PORT) //** P3N - 4/13/98
|
|
_PORT_QUOTE := 'LPT' + QTE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
ENDIF
|
|
|
|
_PORT_PREBILL := 'LPT1' //** P3N - 4/13/98
|
|
IF FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
IF !EMPTY(PRE_PORT) //** P3N - 4/13/98
|
|
_PORT_PREBILL := 'LPT' + PRE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF !EMPTY(DEL_PORT)
|
|
_PORT_DELIVERY = 'LPT' + DEL_PORT
|
|
ELSE
|
|
_PORT_DELIVERY = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(GR_PORT)
|
|
_PORT_GOLDEN = 'LPT' + GR_PORT
|
|
ELSE
|
|
_PORT_GOLDEN = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(IC_PORT)
|
|
_PORT_IC = 'LPT' + IC_PORT
|
|
ELSE
|
|
_PORT_IC = 'LPT1'
|
|
ENDIF
|
|
|
|
IF !EMPTY(LBL_PORT)
|
|
_PORT_LABEL = 'LPT' + LBL_PORT
|
|
ELSE
|
|
_PORT_LABEL = 'LPT1'
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF NO_SET_PORT
|
|
// CALLED FROM SET_PORT() AVOID RECURSIVE CALL - ENDLESS LOOP!
|
|
ELSE
|
|
SET_PORT('_RPTPORT', .F.)
|
|
ENDIF
|
|
|
|
IF CLOSE_IT
|
|
USE
|
|
ENDIF
|
|
|
|
SELECT(SAVESEL)
|
|
RETURN
|
|
*************************************
|
|
* INDEX WORKSTAT FILE
|
|
*************************************
|
|
FUNCTION INDEX_WS()
|
|
USE
|
|
DBOPEN('WORKSTAT', .T.) // DOESN'T EXIST MEANS 1ST TIME IN APP
|
|
IF __DBDRIVER = 'NTX' // SHOULDN'T BE ANYBODY USING WS FILE!
|
|
INDEX ON WS_ID TO &TOFILE
|
|
ELSE
|
|
INDEX ON WS_ID TAG '1' TO &TOFILE
|
|
ENDIF
|
|
USE
|
|
NET_USE('&WORKSTAT', .F., 5, 'WORKSTAT')
|
|
RETURN
|
|
|
|
************************************************************
|
|
|
|
FUNCTION SET_PORT(MPORT_NAME, SET_THE_PRINT, OUTFILE)
|
|
// SET THE PRINTER PORT AND LOOKS UP THE PRINTER NAME TO GET
|
|
// THE COMPRESS & WIDTH VALUES
|
|
|
|
LOCAL SAVESEL := SELECT(), CLOSE_ARR := {}, MPRINTER, L, MPORT, SEEKKEY
|
|
LOCAL SAVESCR
|
|
|
|
|
|
IF EMPTY(OUTFILE)
|
|
OUTFILE := ' '
|
|
ENDIF
|
|
|
|
IF SET_THE_PRINT = NIL
|
|
SET_THE_PRINT := .T.
|
|
ENDIF
|
|
|
|
// LOOKUP THE PRINTER
|
|
IF SELECT('PRINTERS') = 0
|
|
NET_USE('&PRINTERS', .F., 5, 'PRINTERS')
|
|
AADD(CLOSE_ARR, 'PRINTERS')
|
|
ENDIF
|
|
|
|
IF SELECT('WORKSTAT') = 0
|
|
NET_USE('&WORKSTAT', .F., 5, 'WORKSTAT')
|
|
AADD(CLOSE_ARR, 'WORKSTAT')
|
|
ELSE
|
|
SELECT WORKSTAT
|
|
ENDIF
|
|
|
|
SEEKKEY := WSID
|
|
IF LEN(TRIM(SEEKKEY)) = 0
|
|
SEEKKEY = 'SINGLE'
|
|
ENDIF
|
|
|
|
DO WHILE .T.
|
|
LOCATE FOR ALLTRIM (WS_ID ) == ALLTRIM ( SEEKKEY ) // FIND WORK STATION RECORD
|
|
IF !FOUND() .OR. EMPTY(REPT_PRN) .OR. EMPTY(PROD_PRN) .OR. EMPTY(OD_PRN) ;
|
|
.OR. EMPTY(INV_PRN) .OR. EMPTY(DEL_PRN)
|
|
SET_P_OFF()
|
|
?? CHR(7)
|
|
?? CHR(7)
|
|
SAVESCR = SAVESCREEN()
|
|
SET_PRNT_PARMS(.T.) // GO SET UP PRINTER INFO
|
|
RESTSCREEN(,,,,SAVESCR)
|
|
SET_P_ON()
|
|
IF SET_THE_PRINT
|
|
// OUTPUT TO THE PRINTER
|
|
ELSE
|
|
// OUTPUT TO A TEXT FILE
|
|
IF FILE(OUTFILE)
|
|
//PROG := 'DEL ' + OUTFILE
|
|
//CALL_OLAY(,,PROG, 0, '', '')
|
|
FERASE( OUTFILE )
|
|
ENDIF
|
|
SET PRINTER TO (OUTFILE)
|
|
ENDIF
|
|
ELSE
|
|
EXIT
|
|
ENDIF
|
|
ENDDO
|
|
|
|
/*
|
|
|
|
MRPTPRTR := GETPRINTER('ReportPrinter')
|
|
MRPTPORT := GETPRINTER('ReportPort')
|
|
MRPTDEV := GETPRINTER('ReportDevice')
|
|
|
|
MPRODPRTR := GETPRINTER('ProdPrinter')
|
|
MPRODPORT := GETPRINTER('ProdPort')
|
|
MPRODDEV := GETPRINTER('ProdDevice')
|
|
|
|
MORDPRTR := GETPRINTER('OrdDeskPrinter')
|
|
MORDPORT := GETPRINTER('OrdDeskPort')
|
|
MORDDEV := GETPRINTER('OrdDeskDevice')
|
|
|
|
MINVPRTR := GETPRINTER('InvPrinter')
|
|
MINVPORT := GETPRINTER('InvPort')
|
|
MINVDEV := GETPRINTER('InvDevice')
|
|
|
|
MDELPRTR := GETPRINTER('DelPrinter')
|
|
MDELPORT := GETPRINTER('DelPort')
|
|
MDELDEV := GETPRINTER('DelDevice')
|
|
|
|
MGOLDPRTR := GETPRINTER('GoldenPrinter')
|
|
MGOLDPORT := GETPRINTER('GoldenPort')
|
|
MGOLDDEV := GETPRINTER('GoldenDevice' )
|
|
|
|
MMAILPRTR := GETPRINTER('MailLblPrinter')
|
|
MMAILPORT := GETPRINTER('MailLblPort')
|
|
MMAILDEV := GETPRINTER('MailLblDevice')
|
|
|
|
MICOMPPRTR := GETPRINTER('InterCompPrinter')
|
|
MICOMPPORT := GETPRINTER('InterCompPort')
|
|
MICOMPDEV := GETPRINTER('InterCompDevice')
|
|
|
|
MBACKOPRTR := GETPRINTER('BackOrdPrinter')
|
|
MBACKOPORT := GETPRINTER('BackOrdPort')
|
|
MBACKODEV := GETPRINTER('BackOrdDevice')
|
|
|
|
MQUOTEPRTR := GETPRINTER('QuotePrinter')
|
|
MQUOTEPORT := GETPRINTER('QuotePort')
|
|
MQUOTEDEV := GETPRINTER('QuoteDevice')
|
|
|
|
MPREBPRTR := GETPRINTER('PreBillPrinter')
|
|
MPREBPORT := GETPRINTER('PreBillPort')
|
|
MPREBDEV := GETPRINTER('PreBillDevice')
|
|
|
|
MPRECPRTR := GETPRINTER('PreCostPrinter')
|
|
MPRECPORT := GETPRINTER('PreCostPort')
|
|
MPRECDEV := GETPRINTER('PreCostDevice')
|
|
|
|
*/
|
|
|
|
DO CASE
|
|
CASE MPORT_NAME = '_RPTPORT'
|
|
MPRINTER = REPT_PRN
|
|
MPORT := 'LPT' + REPT_PORT
|
|
MPORT := GETPRINTER('ReportPrinter')
|
|
|
|
CASE MPORT_NAME = '_PORT_PROD'
|
|
MPRINTER = PROD_PRN
|
|
MPORT := 'LPT' + PROD_PORT
|
|
MPORT := GETPRINTER('ProdPrinter')
|
|
|
|
//** P3N - 04/08/03 CHANGED TO ALLOW THE ORDER DESK & LABEL PRINTERS TO BE DIFFERENT
|
|
//** CASE MPORT_NAME = '_PORT_ORDER' .OR. MPORT_NAME = '_PORT_LABEL'
|
|
CASE MPORT_NAME = '_PORT_ORDER'
|
|
MPRINTER = OD_PRN
|
|
MPORT := 'LPT' + OD_PORT
|
|
MPORT := GETPRINTER('OrdDeskPrinter')
|
|
|
|
CASE MPORT_NAME = '_PORT_LABEL' //** P3N - 04/08/03
|
|
MPRINTER = LBL_PRN //** P3N - 04/08/03
|
|
MPORT := 'LPT' + LBL_PORT //** P3N - 04/08/03
|
|
|
|
CASE MPORT_NAME = '_PORT_INVOICE'
|
|
MPRINTER = INV_PRN
|
|
MPORT := 'LPT' + INV_PORT
|
|
|
|
CASE MPORT_NAME = '_PORT_QUOTE' //** P3N - 4/13/98
|
|
MPRINTER := INV_PRN //** P3N - 4/13/98
|
|
MPORT := 'LPT' + INV_PORT //** P3N - 4/13/98
|
|
IF FIELDPOS('QTE_PRN') > 0 //** P3N - 4/13/98
|
|
MPRINTER = QTE_PRN //** P3N - 4/13/98
|
|
ENDIF //** P3N - 4/13/98
|
|
IF FIELDPOS('QTE_PORT') > 0 //** P3N - 4/13/98
|
|
MPORT := 'LPT' + QTE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
|
|
CASE MPORT_NAME = '_PORT_PREBILL' //** P3N - 4/13/98
|
|
MPRINTER := INV_PRN //** P3N - 4/13/98
|
|
MPORT := 'LPT' + INV_PORT //** P3N - 4/13/98
|
|
IF FIELDPOS('PRE_PRN') > 0 //** P3N - 4/13/98
|
|
MPRINTER = PRE_PRN //** P3N - 4/13/98
|
|
ENDIF //** P3N - 4/13/98
|
|
IF FIELDPOS('PRE_PORT') > 0 //** P3N - 4/13/98
|
|
MPORT := 'LPT' + PRE_PORT //** P3N - 4/13/98
|
|
ENDIF
|
|
|
|
CASE MPORT_NAME = '_PORT_DELIVERY'
|
|
MPRINTER = DEL_PRN
|
|
MPORT := 'LPT' + DEL_PORT
|
|
|
|
CASE MPORT_NAME = '_PORT_GOLDEN'
|
|
MPRINTER = GR_PRN
|
|
MPORT := 'LPT' + GR_PORT
|
|
|
|
CASE MPORT_NAME = '_PORT_LABEL'
|
|
MPRINTER = LBL_PRN
|
|
MPORT := 'LPT' + LBL_PORT
|
|
|
|
CASE MPORT_NAME = '_PORT_IC'
|
|
MPRINTER = IC_PRN
|
|
MPORT := 'LPT' + IC_PORT
|
|
|
|
CASE MPORT_NAME = '_PORT_BO' //** P3N - 4/30/98
|
|
MPRINTER = BO_PRN //** P3N - 4/30/98
|
|
MPORT := 'LPT' + BO_PORT //** P3N - 4/30/98
|
|
|
|
END CASE
|
|
|
|
SELECT PRINTERS
|
|
LOCATE FOR PRINTER == MPRINTER
|
|
|
|
|
|
/*
|
|
NARROW = "''"
|
|
COMPRESS := "''"
|
|
WIDE = "''"
|
|
NORMAL := "''"
|
|
COMPRESSL = "''"
|
|
LMAR15 = "''"
|
|
LMAR18 = "''"
|
|
TMAR = "''"
|
|
WIDEON = "''"
|
|
WIDEOFF = "''"
|
|
SP4 := "''"
|
|
SP6 := "''"
|
|
SP10 := "''"
|
|
SP12 := "''"
|
|
SP16 := "''"
|
|
LF := "''"
|
|
FL7 := "''"
|
|
FL11 := "''"
|
|
FL14 := "''"
|
|
FEED := "''"
|
|
FEED2 := "''"
|
|
PICA := "''"
|
|
ELITE := "''"
|
|
SEN_ON = "''"
|
|
SEN_OFF = "''"
|
|
*/
|
|
|
|
|
|
|
|
NARROW = PCOMPRESS
|
|
COMPRESS := NARROW
|
|
WIDE = PNORMAL
|
|
NORMAL := WIDE
|
|
COMPRESSL = PCOMPRESSL
|
|
LMAR15 = LEFT_MAR15
|
|
LMAR18 = LEFT_MAR18
|
|
TMAR = TOP_MAR
|
|
WIDEON = PWIDEON
|
|
WIDEOFF = PWIDEOFF
|
|
SP4 := SP_4
|
|
SP6 := SP_6
|
|
SP10 := SP_10
|
|
SP12 := SP_12
|
|
SP16 := SP_16
|
|
LF := ILF
|
|
FL7 := FL_7
|
|
FL11 := FL_11
|
|
FL14 := FL_14
|
|
FEED := SMALL_FEED
|
|
FEED2 := TINY_FEED
|
|
PICA := P_PICA
|
|
ELITE := P_ELITE
|
|
SEN_ON = SENSOR_ON
|
|
SEN_OFF = SENSOR_OFF
|
|
|
|
// SET THE PORT
|
|
//*MPORT = &MPORT_NAME
|
|
//*SET PRINT TO (MPORT)
|
|
IF SET_THE_PRINT
|
|
IF USER = '_FMAINT'
|
|
BLD_GDG('ORDER.TXT', 8) //CREATE GDG(limit of 8) OF ORDERS PRINTED!
|
|
SET PRINTER TO ORDER.TXT
|
|
ELSE
|
|
// SET PRINTER TO (MPORT)
|
|
//Set( 24, M->_THISUSER_TEMP, .F. )
|
|
SET PRINTER TO ( M->_THISUSER_TEMP ) // APPDATA FOLDER
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// CLOSE FILES
|
|
FOR L = 1 TO LEN(CLOSE_ARR)
|
|
MALIAS = CLOSE_ARR[L]
|
|
SELECT(MALIAS)
|
|
USE
|
|
NEXT
|
|
|
|
SELECT(SAVESEL)
|
|
|
|
RETURN MPORT
|
|
|
|
********************************************
|
|
FUNCTION CHK_PRN(MVAR)
|
|
// CHECK FOR CORRECT PRINTER SELECTION
|
|
|
|
*** *IF MVAR$'12345678'
|
|
IF MVAR$'123'
|
|
RETURN .T.
|
|
ELSE
|
|
RETURN .F.
|
|
ENDIF
|
|
|
|
*****************************
|
|
//*****************************************************************
|
|
//*****************************************************************
|
|
//** P3N 11/20/02 SET THE PRINTERS SECTION IN THE INI FILE ***
|
|
//*****************************************************************
|
|
//*****************************************************************
|
|
FUNCTION SETPRNTR(PCMD)
|
|
LOCAL SYSCODE := M->SYSCODE, lEXIT := .F.
|
|
|
|
LOCAL MHDC
|
|
LOCAL SYSINI
|
|
LOCAL CMD
|
|
LOCAL PRPORT
|
|
LOCAL PRNAME
|
|
LOCAL PRDEV
|
|
LOCAL INIPORT
|
|
LOCAL ININAME
|
|
LOCAL INIDEV
|
|
local cPrinter
|
|
|
|
SYSINI := GETSYSINI(SYSCODE)
|
|
CMD := UPPER(PCMD)
|
|
PRPORT := PCMD+'Port'
|
|
PRNAME := PCMD+'Printer'
|
|
PRDEV := PCMD+'Device'
|
|
INIPORT := ALLTRIM(GETPVPROFSTR('PRINTERS', PRPORT, '', SYSINI)) // ** P3N - 3/14/00
|
|
ININAME := ALLTRIM(GETPVPROFSTR('PRINTERS', PRNAME, '', SYSINI)) // ** P3N - 3/14/00
|
|
INIDEV := ALLTRIM(GETPVPROFSTR('PRINTERS', PRDEV, '', SYSINI)) // ** P3N - 10/16/03
|
|
cPrinter := GetProfString( "windows", "device" , "" ) //** WINDOWS DEFAULT PRINTER
|
|
|
|
|
|
|
|
|
|
//**DO WHILE .T.
|
|
//IF GET_PERDATA()[3] = '_FMAINT' .OR. GET_PERDATA()[3] = 'MASTER'
|
|
// MSGINFO('Windows DEFAULT printer device is "' +cPrinter+'"', 'Default printer')
|
|
//ENDIF
|
|
|
|
CKSYSPRTR(ININAME, PCMD, 'NOCALL')
|
|
PRINTERSETUP()
|
|
//** IS THE WINDOWS DEFAULT PRINTER AVAILABLE?
|
|
//** WriteProfString( "windows", "device", cPrinter )
|
|
//** SysRefresh()
|
|
//** PrinterInit()
|
|
MhDC := GetPrintDefault( GetActiveWindow() )
|
|
SysRefresh()
|
|
//** WriteProfString( "windows", "device", cPrinter )
|
|
|
|
//** CHECK FOR THE WINDOWS DEFAULT PRINTER
|
|
IF MhDC = 0 .OR. EMPTY(cPrinter)
|
|
MSGSTOP('Windows Default Printer "' + cPrinter +'"' + CR_LF(2) + ;
|
|
'NOT Found or is NOT Available', 'Printer NOT Available' )
|
|
|
|
ELSE
|
|
|
|
ININAME := PRNGETNAME()
|
|
//** P3N - 10/06/09 ADDRESS THE "NO PRINTERS INSTALLED!" message(from fwhx v2.6 Sept-2005) in vista
|
|
SETINIVALS(@ININAME, @INIPORT, @INIDEV) //** P3N - 10/06/09 - Address Vista issue
|
|
INIPORT := STRTRAN(PRNGETPORT(),':','')
|
|
INIDEV := PRNGETDRIVE()
|
|
|
|
IF EMPTY(ININAME) .OR. EMPTY(INIPORT)
|
|
MSGSTOP( 'Invalid or Incomplete Printer Information:' + CR_LF(2) + ;
|
|
'Printer Name - ' + ININAME + CR_LF() + ;
|
|
'Printer Port - ' + INIPORT,'Incomplete Printer Stetup' )
|
|
|
|
ELSE
|
|
|
|
WRITEPPROS('PRINTERS', PRNAME, ININAME, SYSINI )
|
|
WRITEPPROS('PRINTERS', PRPORT, INIPORT, SYSINI )
|
|
WRITEPPROS('PRINTERS', PRDEV, INIDEV, SYSINI )
|
|
|
|
ENDIF
|
|
ENDIF
|
|
//**ENDDO
|
|
|
|
RETURN .T.
|
|
|
|
*********************************************
|
|
|
|
|
|
FUNCTION GETPRINTER(CMD) //** P3N - 12/31/02
|
|
** THIS WILL AVOID A CONFLICT WITH THE FIVEWIN GETPRINTER() FUNCTION
|
|
**FUNCTION INIPRINTER(CMD) //** P3N - 12/31/02
|
|
|
|
LOCAL WININI := GETWINDIR() + '\WIN.INI'
|
|
|
|
LOCAL PRINTDEV := GETPVPROFSTRING( 'WINDOWS', 'DEVICE', 'NODEFAULT ', WININI )
|
|
|
|
LOCAL SYSINI := GETSYSINI( M->SYSCODE )
|
|
|
|
IF EMPTY(CMD) //** P3N - 11/12/02
|
|
//** RETURN THE DEFAULT WINDOWS SYSTEM PRINTER //** P3N - 11/12/02
|
|
ELSE
|
|
//** RETURN THE XXX.INI SECTION [PRINTERS] INFO BASED ON CMD PASSED
|
|
//** cmd = 'ReportPrinter' //** P3N - 12/30/02
|
|
//** cmd = 'ReportPort' //** P3N - 12/30/02
|
|
//** cmd = 'CheckPrinter' //** P3N - 12/30/02
|
|
//** cmd = 'CheckPort' //** P3N - 12/30/02
|
|
//** cmd = 'FormPrinter' //** P3N - 12/30/02
|
|
//** cmd = 'FormPort' //** P3N - 12/30/02
|
|
PRINTDEV := GETPVPROFSTRING( 'PRINTERS', CMD, ' ', SYSINI )
|
|
ENDIF //** P3N - 11/12/02
|
|
|
|
RETURN PRINTDEV
|
|
|
|
|
|
**********************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*****************************************************************
|
|
//*****************************************************************
|
|
//** P3N 11/20/02 SET THE PRINTERS SECTION IN THE INI FILE ***
|
|
//*****************************************************************
|
|
//*****************************************************************
|
|
//**FUNCTION VALIDPRTRS( MRPTPRTR, MPRODPRTR, MORDPRTR, MINVPRTR, MDELPRTR, MGOLDPRTR, MMAILPRTR, MICOMPPRTR, MBACKOPRTR, MQUOTEPRTR, MPREBPRTR )
|
|
|
|
FUNCTION VALIDPRTRS(MRPTPRTR, MCHECKPRTR)
|
|
|
|
LOCAL RETVAL := .F.
|
|
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Report' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Prod' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'OrdDesk' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Inv' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Del' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Golden' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'MailLbl' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'InterComp' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'BackOrd' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'Quote' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'PreBill' )
|
|
RETVAL := CKSYSPRTR( MRPTPRTR, 'PreCost' )
|
|
|
|
//IF RETVAL
|
|
// IF RETVAL
|
|
// RETVAL := CKSYSPRTR(MRPTPRTR, 'REPORT', 'NOCALL')
|
|
// ENDIF
|
|
//ENDIF
|
|
//**IF RETVAL
|
|
//**ELSE
|
|
//** IF ISWINNT()
|
|
//** IF MSGYESNO('Printer Information is Incomplete'+CR_LF()+;
|
|
//** 'Do you want to continue with incomplete printer information?')
|
|
//** RETVAL := .T.
|
|
//** ENDIF
|
|
//** ENDIF
|
|
//**ENDIF
|
|
|
|
RETURN RETVAL
|
|
|
|
//*********************************************************
|
|
//** P3N - 03/07/03
|
|
//** IS THE PRINTER NAME A VALID PRINTER NAME?
|
|
//*********************************************************
|
|
FUNCTION CKSYSPRTR( PRTRNAME, WHATPRTR )
|
|
|
|
LOCAL SYSINI := GETSYSINI(M->SYSCODE)
|
|
LOCAL PRPORT := WHATPRTR + 'Port', PRDEV := WHATPRTR + 'Device', PRNAME := WHATPRTR + 'Printer'
|
|
LOCAL INIPORT := ALLTRIM(GETPVPROFSTR('PRINTERS', PRPORT, '', SYSINI))
|
|
LOCAL ININAME := ALLTRIM(GETPVPROFSTR('PRINTERS', PRNAME, '', SYSINI))
|
|
LOCAL INIDEV := ALLTRIM(GETPVPROFSTR('PRINTERS', PRDEV, '', SYSINI))
|
|
local MhDC := 0, RETVAL := .T.
|
|
local cPrinter := GetProfString( "windows", "device" , "" )
|
|
LOCAL cWinName := WINDFLT(cPrinter,'NAME'), cWinPort := WINDFLT(cPrinter, 'PORT')
|
|
local cWindev := WINDFLT(cPrinter, 'DEVICE')
|
|
|
|
WriteProfString( "windows", "device", PRTRNAME )
|
|
SysRefresh()
|
|
PrinterInit()
|
|
MhDC := GetPrintDefault( GetActiveWindow() )
|
|
SysRefresh()
|
|
WriteProfString( "windows", "device", cPrinter )
|
|
|
|
/*
|
|
commented out on 10/02/09
|
|
address vista issues
|
|
IF MhDC = 0 .OR. EMPTY(PRTRNAME)
|
|
MSGINFO('Invalid "' +WHATPRTR+ '" Printer Name - ' + PRTRNAME + CR_LF(2) + ;
|
|
'Windows default printer used - ' + cWinName )
|
|
WRITEPPROS('PRINTERS', PRNAME, cWinName, SYSINI )
|
|
WRITEPPROS('PRINTERS', PRPORT, cWinPort, SYSINI )
|
|
IF EMPTY(CMD)
|
|
SYSPRNTRS(, 'INIT')
|
|
ENDIF
|
|
RETVAL := .T.
|
|
ENDIF
|
|
*/
|
|
|
|
RETURN RETVAL
|
|
|
|
//********************************************************************************
|
|
//** P3N - 10/06/09
|
|
//** ADDRESS THE "NO PRINTERS INSTALLED!" message(from fwhx v2.6 Sept-2005) in vista
|
|
//********************************************************************************
|
|
FUNCTION SETINIVALS(ININAME,INIPORT,INIDEV)
|
|
//** EXAMPLE OF ALLPRNTRS ARRAY VALUES:
|
|
//** ALLPRNTRS[1] "Xerox DocuPrint N2125 PS (by server 138),winspool,Ne00:"
|
|
//** ALLPRNTRS[2] "Xerox DocuPrint N2125 PS,winspool,Ne01:"
|
|
//** ALLPRNTRS[3] "pdfFactory Pro,winspool,FPP3:"
|
|
//** ALLPRNTRS[4] "Microsoft XPS Document Writer,winspool,Ne02:"
|
|
//** ALLPRNTRS[5] "\\LAAPCSV1\HP LaserJet 2420 PCL 6,winspool,Ne03:"
|
|
//** ALLPRNTRS[6] "WebEx Document Loader,winspool,Ne04:"
|
|
LOCAL ALLPRNTRS := GETALLPRNTRS(), I := 0
|
|
LOCAL CKNAME := ''
|
|
|
|
FOR I := 1 TO LEN(ALLPRNTRS)
|
|
CKNAME := SUBST(ALLPRNTRS[I], 1, AT(',',ALLPRNTRS[I]) -1 )
|
|
IF CKNAME == ININAME
|
|
//**IF ALLPRNTRS[I] = ININAME
|
|
ININAME := ALLPRNTRS[I]
|
|
EXIT
|
|
ENDIF
|
|
NEXT
|
|
RETURN .T.
|
|
|
|
|
|
//*********************************************************
|
|
//** P3N - 10/06/09
|
|
//** GET ALL PRINTERS FOR THIS WINDOWS SESSION
|
|
//*********************************************************
|
|
FUNCTION GETALLPRNTRS()
|
|
LOCAl cEntry := '', I := 0, cName := '', cPrn := '', cPort := '', J := 0
|
|
LOCAL aDevices := {}
|
|
//** EXAMPLE OF aDevices ARRAY VALUES returned:
|
|
//** ALLPRNTRS[1] "Xerox DocuPrint N2125 PS (by server 138),winspool,Ne00:"
|
|
//** ALLPRNTRS[2] "Xerox DocuPrint N2125 PS,winspool,Ne01:"
|
|
//** ALLPRNTRS[3] "pdfFactory Pro,winspool,FPP3:"
|
|
//** ALLPRNTRS[4] "Microsoft XPS Document Writer,winspool,Ne02:"
|
|
//** ALLPRNTRS[5] "\\LAAPCSV1\HP LaserJet 2420 PCL 6,winspool,Ne03:"
|
|
//** ALLPRNTRS[6] "WebEx Document Loader,winspool,Ne04:"
|
|
LOCAL cAllEntries := STRTRAN( GetProfString( "Devices" ), Chr( 0 ), CRLF )
|
|
FOR I:= 1 TO MlCount( cAllEntries )
|
|
cName := MemoLine( cAllEntries,,I)
|
|
cEntry := GetProfString( "Devices",cName,"")
|
|
J := 2
|
|
DO WHILE ! EMPTY(cPort := StrToken(cEntry,J++,","))
|
|
AADD(aDevices,TRIM(cName) + "," + CENTRY)
|
|
ENDDO
|
|
NEXT
|
|
RETURN aDevices
|
|
|
|
****************************************************
|
|
FUNCTION WINDFLT(cPrinter, CMD)
|
|
LOCAL SPLITNAME := AT(',', cPrinter), RETVAL := ''
|
|
LOCAL SPLITPORT := RAT(',', cPrinter)
|
|
LOCAL RETNAME := SUBST(cPrinter,1, SPLITNAME-1)
|
|
LOCAL RETPORT := SUBST(cPrinter, SPLITPORT+1,LEN(cPrinter) )
|
|
IF ISWINNT()
|
|
//**MSGINFO('THIS IS THE WINNT DEFAULT PRINTER - '+CPRINTER)
|
|
RETPORT := RETNAME
|
|
ENDIF
|
|
IF CMD = 'NAME'
|
|
RETVAL := RETNAME
|
|
ELSEIF CMD = 'PORT'
|
|
RETVAL := STRTRAN(RETPORT, ':', '')
|
|
ENDIF
|
|
RETURN RETVAL
|
|
|
|
|
|
***************************************************
|
|
|
|
FUNCTION WRITEPPROS( P1, P2, P3, P4 )
|
|
RETURN WRITEPPROSTRING( P1, P2, P3, P4 )
|
|
|
|
**********************************************
|
|
|
|
// FUNCTION GETPVPROFSTR( P1, P2, P3, P4 )
|
|
// RETURN GETPVPROFSTRING( P1, P2, P3, P4 )
|
|
|
|
|
|
********************************************************
|
|
|
|
FUNCTION GETPVPROFI( P1, P2, P3, P4 )
|
|
RETURN GETPVPROFINT( P1, P2, P3, P4 )
|
|
|
|
****************************************************************
|
|
|
|
************************************************
|
|
|
|
|
|
FUNCTION DON_REPDATE(VAR2)
|
|
LOCAL WORKDATE
|
|
|
|
// DATE - SQL LIMITATION - DON 4-27-9
|
|
//IF M->SQLDRIVER = 'MEDNTX' // DONE ONLY IF MS/SQL DataBase
|
|
// MYEAR := YEAR( VAR2 )
|
|
// IF MYEAR > 0 .AND. MYEAR < 1800 // 01/23/1754
|
|
//
|
|
// WORKDATE := DTOC( VAR2 )
|
|
// WORKDATE := SUBS( WORKDATE, 1 , 6 ) ; // 01/23/1854 - MAKE 1800 CENTURY
|
|
// + '18' + SUBS( WORKDATE, 9 )
|
|
// VAR2 := CTOD( WORKDATE )
|
|
// ENDIF
|
|
//ENDIF
|
|
|
|
RETURN VAR2
|
|
|
|
|
|
*****************************
|
|
|
|
FUNCTION GETPVPROFSTR( P1, P2, P3, P4 )
|
|
RETURN GETPVPROFSTRING( P1, P2, P3, P4 )
|
|
|
|
|
|
********************************
|
|
|
|
function ReadVar()
|
|
|
|
LOCAL NWND
|
|
|
|
// MODIFIED IN CASE NO CONTROLS ALIVE. 6-3-2020
|
|
nWnd := AScan( GetAllWin(),;
|
|
{ | oWnd | IF ( VALTYPE(OWND)$'N', .F., oWnd:lFocused .and. oWnd:ClassName() == "TGET" )} )
|
|
|
|
return If( nWnd != 0, GetAllWin()[ nWnd ], nil )
|
|
|
|
|