added LSL2 stored procedures
This commit is contained in:
72
LSL2/STPROC/SRP_EDITOR_TEMP_PRINTER_SELECT_SYSPROG.txt
Normal file
72
LSL2/STPROC/SRP_EDITOR_TEMP_PRINTER_SELECT_SYSPROG.txt
Normal file
@ -0,0 +1,72 @@
|
||||
COMPILE FUNCTION SRP_EDITOR_TEMP_PRINTER_SELECT_SYSPROG(PrinterID,RetDefault)
|
||||
|
||||
DECLARE FUNCTION PrintSetup, PopUp, Get_Status
|
||||
DECLARE SUBROUTINE Set_Status
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT PRINTSETUP_EQUATES
|
||||
|
||||
/*
|
||||
Routine to Select Printer and Port for use in OIPI Set_Printer("INIT",...) calls.
|
||||
|
||||
2/4/2000 by jch * * * *
|
||||
*/
|
||||
|
||||
|
||||
IF NOT(ASSIGNED(PrinterID)) THEN PrinterID = ''
|
||||
IF NOT(ASSIGNED(RetDefault)) THEN RetDefault = ''
|
||||
|
||||
Printers = ''
|
||||
Default = ''
|
||||
PrintCount = PrintSetup(PRN_GET$,'',Printers,Default) ;* OI routine returns printer names, driver, port information
|
||||
|
||||
DefPrinter = Default[1,',']
|
||||
DefPort = FIELD(Default,',',3)
|
||||
DefLine = DefPrinter:' on ':DefPort
|
||||
|
||||
IF RetDefault THEN
|
||||
SWAP ' on ' WITH @FM IN DefLine
|
||||
RETURN DefLine
|
||||
END
|
||||
|
||||
PopLines = '' ;* Pretty up printer names and ports for a popup
|
||||
SkipPopup = 0
|
||||
|
||||
CONVERT @LOWER_CASE TO @UPPER_CASE IN PrinterID
|
||||
|
||||
FOR I = 1 TO PrintCount
|
||||
Printer = Printers<I>[1,',']
|
||||
Port = FIELD(Printers<I>,',',3)
|
||||
IF Printer NE '' THEN
|
||||
TestPrinter = Printer
|
||||
CONVERT @LOWER_CASE TO @UPPER_CASE IN TestPrinter
|
||||
IF TestPrinter = PrinterID THEN SkipPopup = I
|
||||
END
|
||||
PopLines<1,I> = Printer:' on ':Port
|
||||
NEXT I
|
||||
|
||||
IF SkipPopup THEN
|
||||
PrintPath = PopLines<1,SkipPopup>
|
||||
SWAP ' on ' WITH @FM IN PrintPath
|
||||
RETURN PrintPath
|
||||
END
|
||||
|
||||
LOCATE DefLine IN PopLines USING @VM SETTING DefPos ELSE DefPos = ''
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PDISPLAY$> = PopLines
|
||||
TypeOver<PFORMAT$> = '1':@SVM:'60':@SVM:'L':@SVM:'L':@SVM:'':@SVM:'Printer'
|
||||
TypeOver<PMODE$> = 'L'
|
||||
TypeOver<PTYPE$> = 'E'
|
||||
TypeOver<PTITLE$> = 'Select Report Destination...'
|
||||
IF DefPos NE '' THEN
|
||||
TypeOver<PINITSELECT$> = DefPos
|
||||
END
|
||||
|
||||
Set_Status(0)
|
||||
PrintPath = PopUp(@WINDOW,TypeOver) ;* Pick from popup
|
||||
|
||||
IF PrintPath = '' THEN RETURN ''
|
||||
SWAP ' on ' WITH @FM IN PrintPath ;* Put in format for passing Set_Printer('INIT'...)
|
||||
|
||||
RETURN PrintPath
|
Reference in New Issue
Block a user