123 lines
3.9 KiB
Plaintext
123 lines
3.9 KiB
Plaintext
compile function PRINT_LABELS2()
|
|
begin condition
|
|
pre:
|
|
post:
|
|
end condition
|
|
declare function msg, set_property, send_event, dialog_box, utility, get_property
|
|
declare function set_printer, fieldcount, key_sort,Printer_Select
|
|
declare subroutine rlist, or_view, activate_save_select, yield, extract_si_keys
|
|
declare subroutine btree.extract
|
|
$insert logical
|
|
$insert rlist_equates
|
|
$insert msg_equates
|
|
$insert names_equ
|
|
$insert company_equ
|
|
|
|
$insert oiprint_equates
|
|
|
|
open 'COMPANY' to COTable else
|
|
Void = msg( '', 'Unable to open COMPANY table...' )
|
|
return 0
|
|
end
|
|
Stat = utility( 'CURSOR', 'H' )
|
|
Stmt = 'SELECT COMPANY WITH CO_TYPE = "C" BY CO_NAME'
|
|
|
|
rlist( Stmt, target_activelist$, '', '', '' )
|
|
|
|
Nrec1 = ''
|
|
Nrec2 = ''
|
|
Nrec3 = ''
|
|
Rcnt = 0
|
|
RowsPrinted = 0
|
|
if @reccount then
|
|
gosub PrinterInit
|
|
Eof = false$
|
|
NumKeys = @reccount
|
|
Cnt = 0
|
|
loop
|
|
readnext CId else Eof = true$
|
|
until Eof
|
|
read CORec from COTable, CId else
|
|
Void = msg( '', 'Unable to read COMPANY ':CId )
|
|
return 0
|
|
end
|
|
Column = ''
|
|
Attn = 'Attn: Y2k Contact/Quality Dept.'
|
|
CoName = CORec<company_co_name$>
|
|
Addr1 = CORec<company_address$,1>
|
|
Addr2 = CORec<company_address$,2>
|
|
Addr3 = CORec<company_address$,3>
|
|
City = CORec<company_city$>
|
|
St = CORec<company_state$>
|
|
Zip = CORec<company_zip$>
|
|
|
|
if City then
|
|
City := ', '
|
|
end
|
|
Column = Attn:@vm:CoName:@vm:Addr1:@vm:Addr2:@vm:Addr3:@vm:City:St:' ':Zip
|
|
Rcnt += 1
|
|
begin case
|
|
case Rcnt = 1
|
|
Nrec1 = Column
|
|
case Rcnt = 2
|
|
Nrec2 = Column
|
|
case Rcnt = 3
|
|
Nrec3 = Column
|
|
end case
|
|
if Rcnt = 3 then
|
|
gosub PrintRow
|
|
end
|
|
repeat
|
|
if Nrec1 <> '' or Nrec2 <> '' or Nrec3 <> '' then
|
|
* print last ones
|
|
gosub PrintRow
|
|
end
|
|
end
|
|
Void = set_printer( 'TERM' )
|
|
Stat = utility( 'CURSOR', 'A' )
|
|
return 0
|
|
*================================================================================================*
|
|
PrinterInit:
|
|
* initialize the printer and set the headings
|
|
PrintPath = Printer_Select('') ;* Get Printer Path
|
|
Void = set_printer( 'INIT', '', '', .25:@fm:.38:@fm:'':@fm:.5, '', 2 ,PrintPath)
|
|
Font = 'Times New Roman,7,L,0' ;* 10 point, Left just, Bold
|
|
convert ',' to @fm in Font
|
|
Void = set_printer( 'FONT', Font )
|
|
Void = set_printer( 'TEXT', '' )
|
|
return
|
|
|
|
*================================================================================================*
|
|
PrintRow:
|
|
if RowsPrinted = 10 then
|
|
Void = set_printer( 'PAGEBREAK' )
|
|
RowsPrinted = 0
|
|
Void = set_printer( 'TEXT', '' )
|
|
end
|
|
* do printing
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,1>:@vm:Nrec2<1,1>:@vm:Nrec3<1,1>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,2>:@vm:Nrec2<1,2>:@vm:Nrec3<1,2>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,3>:@vm:Nrec2<1,3>:@vm:Nrec3<1,3>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,4>:@vm:Nrec2<1,4>:@vm:Nrec3<1,4>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,5>:@vm:Nrec2<1,5>:@vm:Nrec3<1,5>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
Table = ''
|
|
Table<-1> = Nrec1<1,6>:@vm:Nrec2<1,6>:@vm:Nrec3<1,6>
|
|
x = Set_Printer("TABLE", Table, '', 2.81:@fm:2.81:@fm:2.81, 'L':@fm:'L':@fm:'L', TB_NONE)
|
|
* reset vars
|
|
RowsPrinted += 1
|
|
Rcnt = 0
|
|
Nrec1 = ''
|
|
Nrec2 = ''
|
|
Nrec3 = ''
|
|
return
|