242 lines
8.2 KiB
Plaintext
242 lines
8.2 KiB
Plaintext
compile function print_help()
|
|
begin condition
|
|
pre:
|
|
post:
|
|
end condition
|
|
Equ Note$ to 11
|
|
$insert logical
|
|
$insert msg_equates
|
|
$insert popup_equates
|
|
$insert appnote_equates
|
|
declare function set_printer, get_printer, msg, fieldcount, Printer_Select
|
|
declare subroutine rlist
|
|
$insert oiprint_equates
|
|
$insert rlist_equates
|
|
*
|
|
equ Windows$ to 1
|
|
equ Titles$ to 2
|
|
equ PrintIt$ to 3
|
|
equ BmpCnt$ to 4
|
|
equ Width$ to 5
|
|
equ Height$ to 6
|
|
equ BmpDos$ to 7
|
|
equ FootOvr$ to 8
|
|
equ BmpPath$ to 9
|
|
|
|
PrintConfigRec = xlate( 'CONFIG', 'PRINT_HELP_CONFIG', '', 'X' )
|
|
*Windows = PrintConfigRec<Windows$>
|
|
Titles = PrintConfigRec<Titles$>
|
|
*PrintIt = PrintConfigRec<PrintIt$>
|
|
BmpPath = PrintConfigRec<BmpPath$>:'\'
|
|
*BmpCnt = PrintConfigRec<BmpCnt$>
|
|
*Width = PrintConfigRec<Width$>
|
|
*Height = PrintConfigRec<Height$>
|
|
*BmpDos = PrintConfigRec<BmpDos$>
|
|
*FootOvr = PrintConfigRec<FootOvr$>
|
|
* Sort by Titles
|
|
Tarray = ''
|
|
Parray = ''
|
|
Tcnt = fieldcount( Titles, @vm )
|
|
for i = 1 to Tcnt
|
|
ThisTitle = Titles<1,i>
|
|
locate ThisTitle in Tarray by 'AL' using @vm setting Tpos else
|
|
Tarray = insert( Tarray, 1, Tpos, 0, ThisTitle )
|
|
Parray = insert( Parray, 1, Tpos, 0, i )
|
|
end
|
|
next i
|
|
Windows = ''; Titles = ''; PrintIt = ''; BmpCnt = ''; Height = ''; Width = ''
|
|
BmpDos = ''; FootOvr = ''
|
|
for i = 1 to Tcnt
|
|
Windows<1,i> = PrintConfigRec<Windows$,Parray<1,i>>
|
|
Titles<1,i> = PrintConfigRec<Titles$,Parray<1,i>>
|
|
PrintIt<1,i> = PrintConfigRec<PrintIt$,Parray<1,i>>
|
|
BmpCnt<1,i> = PrintConfigRec<BmpCnt$,Parray<1,i>>
|
|
Width<1,i> = PrintConfigRec<Width$,Parray<1,i>>
|
|
Height<1,i> = PrintConfigRec<Height$,Parray<1,i>>
|
|
BmpDos<1,i> = PrintConfigRec<BmpDos$,Parray<1,i>>
|
|
FootOvr<1,i> = PrintConfigRec<FootOvr$,Parray<1,i>>
|
|
next i
|
|
* temp code
|
|
*Windows = field( Windows, @vm, 36, 999 )
|
|
*Titles = field( Titles, @vm, 36, 999 )
|
|
*PrintIt = field( PrintIt, @vm, 36, 999 )
|
|
*BmpCnt = field( BmpCnt, @vm, 36, 999 )
|
|
*Width = field( Width, @vm, 36, 999 )
|
|
*Height = field( Height, @vm, 36, 999 )
|
|
*BmpDos = field( BmpDos, @vm, 36, 999 )
|
|
*FootOvr = field( FootOvr, @vm, 36, 999 )
|
|
* end temp code
|
|
if Windows else
|
|
return 0
|
|
end
|
|
*debug
|
|
* printer initialization
|
|
PrintName = 'LSL System Manual':@fm:'Printing...'
|
|
Size = 8.5:@fm:11.0
|
|
|
|
PrintPath = Printer_Select('',1) ;* Get default printer path
|
|
Stat = set_printer( 'INIT', '', '', .75:@fm:1:@fm:.75:@fm:.75, 0,'',PrintPath )
|
|
|
|
if stat < 0 then goto FatalExit
|
|
|
|
* margins
|
|
*Margin = .75:@fm:1:@fm:.75:@fm:0.75
|
|
*convert ',' to @fm in Margin
|
|
*Stat = set_printer( 'MARGIN', Margin )
|
|
*if stat < 0 then goto FatalExit
|
|
|
|
* HeaderFont
|
|
Font = 'Times New Roman,18,T,1'
|
|
convert ',' to @fm in Font
|
|
Stat = set_printer( 'FONTHEADFOOT', Font )
|
|
if stat < 0 then goto FatalExit
|
|
|
|
* Font
|
|
Font<2> = '14'
|
|
Spacing = ''
|
|
Stat = set_printer( 'FONT', Font, Spacing )
|
|
if stat < 0 then goto FatalExit
|
|
|
|
* Header
|
|
Header = "LSL System Manual":fmt( '', 'L#60'):"Page 'P'"
|
|
*Header = "LSL System Manual":fmt( '', 'L#60'):"Page 241"
|
|
ColPos = 1.5
|
|
ColHead = ''
|
|
Stat = set_printer( 'HEADER', Header, ColPos, ColHead )
|
|
if stat < 0 then goto FatalExit
|
|
|
|
Wcnt = fieldcount( Windows, @vm )
|
|
PrintedOne = false$
|
|
for i = 1 to Wcnt
|
|
if PrintIt<1,i> = 'Yes' then
|
|
if PrintedOne then
|
|
Stat = set_printer( 'PAGEBREAK' )
|
|
if Stat < 0 then goto FatalExit
|
|
end
|
|
PrintedOne = true$
|
|
ThisWindow = Windows<1,i>
|
|
ThisBmpCnt = BmpCnt<1,i>
|
|
ThisWidth = Width<1,i>
|
|
ThisHeight = Height<1,i>
|
|
ThisBmpDos = BmpDos<1,i>
|
|
ThisFootOvr = FootOvr<1,i>
|
|
Ypos = get_printer( 'POS' )
|
|
if stat < 0 then goto FatalExit
|
|
ThisTitle = Titles<1,i>
|
|
*Margin = '0.50,1,0.75,0.75'
|
|
*convert ',' to @fm in Margin
|
|
*Stat = set_printer( 'MARGIN', Margin )
|
|
*if stat < 0 then goto FatalExit
|
|
*this Font<2> = '17'
|
|
Font<6> = 1
|
|
Font<2> = 16
|
|
Spacing = ''
|
|
Stat = set_printer( 'FONT', Font, Spacing )
|
|
if stat < 0 then goto FatalExit
|
|
convert ';' to @fm in ThisFootOvr
|
|
for j = 1 to ThisBmpCnt
|
|
FootOvrToUse = ThisFootOvr<j>
|
|
Tbmp = BmpPath:ThisBmpDos:j:'.BMP'
|
|
*void = msg( '', 'Width = ':ThisWidth:' Height = ':THisHeight )
|
|
stat = set_printer( 'BMP', Tbmp, 0:@fm:.5:@fm:ThisWidth:@fm:ThisHeight, 0, 0 )
|
|
*stat = set_printer( 'BMP', Tbmp, 0:@fm:Ypos:@fm:3:@fm:3, 0, 0 )
|
|
*** Print a bitmap at 1 inch from the top and 1 inch from the left side of the page.
|
|
*** The left and top values are calculated from the margins. The width and height of the
|
|
*** bitmap will be 0.5 by 0.5 inches, and the bitmap will print on every page.
|
|
*x = Set_Printer("BMP", "PRINTER.BMP", 0:@FM:-0.75:@FM:0.5:@FM:0.5, 0, 1)
|
|
if stat < 0 then goto FatalExit
|
|
Tfoot = ThisTitle
|
|
if FootOvrToUse then
|
|
Tfoot := ' ':FootOvrToUse
|
|
end else
|
|
if ThisBmpCnt > 1 then
|
|
Tfoot := ' Page ':j
|
|
end
|
|
end
|
|
BamFont = 'Times New Roman,10,T,1'
|
|
convert ',' to @fm in BamFont
|
|
stat = set_printer( 'TEXTXY', Tfoot, .5:@fm:9, BamFont, 0 )
|
|
if stat < 0 then goto FatalExit
|
|
stat = set_printer( 'PAGEBREAK' )
|
|
if stat < 0 then goto FatalExit
|
|
next j
|
|
Stat = set_printer( 'TEXT', 'Help notes for the ':ThisTitle:' window' )
|
|
if Stat < 0 then goto FatalExit
|
|
*Margin = '0.75,1,0.75,0.75'
|
|
*convert ',' to @fm in Margin
|
|
*Stat = set_printer( 'MARGIN', Margin )
|
|
*if stat < 0 then goto FatalExit
|
|
if ThisWindow = 'QUOTE_SPEC_INFO' then
|
|
ThisWindow = 'QUOTE_SPEC' ;* made help notes quote_spec instead of
|
|
* quote_spec_info dumb ass
|
|
end
|
|
if ThisWindow = 'QUOTE_SPEC_INFO2' then
|
|
ThisWindow = 'QUOTE_SPEC2'
|
|
end
|
|
if ThisWindow = 'ANNUAL_CONTRACTS' then
|
|
ThisWindow = 'AC'
|
|
end
|
|
if ThisWindow = 'ANNUAL_CONTRACTS_QUERY' then
|
|
ThisWindow = 'ACQ'
|
|
end
|
|
ValToSelect = quote( 'LSL2**':ThisWindow:'.]' )
|
|
Stmt = 'SELECT SYSREPOSAPPNOTES ':ValToSelect:' BY @ID'
|
|
rlist( Stmt, target_activelist$, '', '', '' )
|
|
if @reccount then
|
|
Eof = false$
|
|
loop
|
|
readnext HelpId else Eof = true$
|
|
until Eof
|
|
HelpRec = xlate( 'SYSREPOSAPPNOTES', HelpId, '', 'X' )
|
|
NoteText = HelpRec<atext$>
|
|
Field = HelpRec<atitle$>
|
|
Stat = set_printer( 'TEXT', '' )
|
|
if stat < 0 then goto FatalExit
|
|
Font<2> = '16'
|
|
Font<6> = 1
|
|
Spacing = ''
|
|
Stat = set_printer( 'FONT', Font, Spacing )
|
|
if stat < 0 then goto FatalExit
|
|
Stat = set_printer( 'TEXT', Field:':' )
|
|
*this Font<2> = '14'
|
|
Font<6> = 0
|
|
Font<4> = 0
|
|
Spacing = ''
|
|
Stat = set_printer( 'FONT', Font, Spacing )
|
|
if stat < 0 then goto FatalExit
|
|
*Margin = '2.25,1,0.75,0.75'
|
|
*convert ',' to @fm in Margin
|
|
*Stat = set_printer( 'MARGIN', Margin )
|
|
*if stat < 0 then goto FatalExit
|
|
swap @vm with @fm:fmt('', 'L#20') in NoteText
|
|
NoteText = fmt( '','L#20'):NoteText
|
|
*convert @vm to @fm in NoteText
|
|
Stat = set_printer( 'TEXT', NoteText )
|
|
if Stat < 0 then goto FatalExit
|
|
*Margin = '0.75,1,0.75,0.75'
|
|
*convert ',' to @fm in Margin
|
|
*Stat = set_printer( 'MARGIN', Margin )
|
|
*if stat < 0 then goto FatalExit
|
|
Font<4> = 1
|
|
Spacing = ''
|
|
Stat = set_printer( 'FONT', Font, Spacing )
|
|
repeat
|
|
end
|
|
end
|
|
* IF PRINTEDONE THEN
|
|
* I=WCNT
|
|
* END
|
|
next i
|
|
Stat = set_printer( 'TERM' )
|
|
if Stat < 0 then goto FatalExit
|
|
return 0
|
|
*============================================================================*
|
|
FatalExit:
|
|
*ErrorText = get_printer( 'ERRORTEXT' )
|
|
Void = msg( '', Stat:' ':Tbmp )
|
|
Stat = set_printer( 'TERM' )
|
|
* Stat = msg( '', ErrorText )
|
|
return 0
|
|
|
|
*============================================================================*
|