!! This is for illustration purposes only and does not represent a !! working program. The map statements as they are defined when used with !! the subroutine called print'bar'labels: will produce a file that can !! be printed on an Okidata 182 printer to produce 3-up labels in code !! 3 of 9 bar code. You must open a print file on channel #14, stuff !! 4 digit code numbers into the appropriate variables as shown, then close !! the print file when done. This is inserted into this file where it says !! begin code here, and ends with an end statenent befire the label !! print'bar'labels: !! Written by Al Cavallaro, Finex Management Services, 212-725-5666 !! If you have any questions, please feel free to call. map1 start map2 gr'on,s,1,chr(3) map2 start'bar,s,14 map1 finish map2 end'bar,s,14 map1 end'line map2 gr'ret,s,2,chr(3)+chr(14) map2 gr'off,s,2,chr(3)+chr(2) map1 n1,s,1,chr(127) ! narrow bar map1 n0,s,1,chr(128) ! narroe space map1 w1,s,2,chr(127)+chr(127) ! wide bar map1 w0,s,2,chr(128)+chr(128) ! wide space map1 cpi'16,s,4,chr(27)+chr(66)+chr(27)+chr(90) map1 cpi'12,s,4,chr(27)+chr(65)+chr(27)+chr(90) map1 hri,s,132 map1 ilg,s,30 map1 pointer,f,6 map1 null'bars,s,90 map1 bars'1 map2 a'ch'1,s,12 map2 ibg'1'1,s,2,chr(128)+chr(128) map2 a'ch'2,s,12 map2 ibg'1'2,s,2,chr(128)+chr(128) map2 a'ch'3,s,12 map2 ibg'1'3,s,2,chr(128)+chr(128) map2 a'ch'4,s,12 map2 ibg'1'4,s,2,chr(128)+chr(128) map1 bars'2 map2 b'ch'1,s,12 map2 ibg'2'1,s,2,chr(128)+chr(128) map2 b'ch'2,s,12 map2 ibg'2'2,s,2,chr(128)+chr(128) map2 b'ch'3,s,12 map2 ibg'2'3,s,2,chr(128)+chr(128) map2 b'ch'4,s,12 map2 ibg'2'4,s,2,chr(128)+chr(128) map1 bars'3 map2 c'ch'1,s,12 map2 ibg'3'1,s,2,chr(128)+chr(128) map2 c'ch'2,s,12 map2 ibg'3'2,s,2,chr(128)+chr(128) map2 c'ch'3,s,12 map2 ibg'3'3,s,2,chr(128)+chr(128) map2 c'ch'4,s,12 map2 ibg'3'4,s,2,chr(128)+chr(128) map1 printer'setup,s,5,chr(27)+chr(80)+chr(27)+chr(70)+chr(6) map1 temp'bars,s,12 map1 product'code,s,4 map1 codes'1,s,4 map1 codes'2,s,4 map1 codes'3,s,4 start'bar = n1+w0+n1+n0+w1+n0+w1+n0+n1 end'bar = start'bar for x = 1 to 30 ilg[x,x]=chr(128) next x xcall strip,ilg for x = 1 to 90 null'bars[x,x]=chr(128) next x xcall strip,null'bars !! begin body of program here open #14,"c39.lst",output codes'1 = "1212" ! code for label1 codes'2 = "3456" ! code for label2 codes'3 = "4356" ! code for label3 call print'bar'labels close #14 end !! end of program here print'bar'labels: call'count = call'count + 1 print'label: print #14,cpi'12;printer'setup; print #14,cpi'12; label'1: if codes'1 = "" goto label'2 product'code = codes'1 xcall strip,product'code for position = 1 to 4 pointer = val(product'code[position,position]) on pointer+1 call e0,e1,e2,e3,e4,e5,e6,e7,e8,e9 on position call a'ch1,a'ch2,a'ch3,a'ch4 next position label'2: if codes'2 = "" goto label'3 product'code = codes'2 xcall strip,product'code for position = 1 to 4 pointer = val(product'code[position,position]) on pointer+1 call e0,e1,e2,e3,e4,e5,e6,e7,e8,e9 on position call b'ch1,b'ch2,b'ch3,b'ch4 next position label'3: product'code = codes'3 xcall strip,product'code for position = 1 to 4 pointer = val(product'code[position,position]) on pointer+1 call e0,e1,e2,e3,e4,e5,e6,e7,e8,e9 on position call c'ch1,c'ch2,c'ch3,c'ch4 next position for loop= 1 to 4 print #14,start;bars'1;finish;ilg;& start;bars'2;finish;ilg;& start;bars'3;finish;end'line; next loop print #14,gr'on;null'bars;end'line; print #14,cpi'16; pr'desc: hri[1;19] = desc'1 hri[28;19] = desc'2 hri[55;19] = desc'3 print #14,hri : hri = "" pr'code: hri[15;5] = "#"+codes'1 hri[42;5] = "#"+codes'2 hri[69;5] = "#"+codes'3 print #14,hri : hri = "" print #14,cpi'12; close: counter = counter + 1 if counter = 3 print #14,chr(12); : & counter = 0 : & return print #14 return e0: temp'bars = n1+n0+n1+w0+w1+n0+w1+n0+n1 xcall strip,temp'bars : return e1: temp'bars = w1+n0+n1+w0+n1+n0+n1+n0+w1 xcall strip,temp'bars : return e2: temp'bars = n1+n0+w1+w0+n1+n0+n1+n0+w1 xcall strip,temp'bars : return e3: temp'bars = w1+n0+w1+w0+n1+n0+n1+n0+n1 xcall strip,temp'bars : return e4: temp'bars = n1+n0+n1+w0+w1+n0+n1+n0+w1 xcall strip,temp'bars : return e5: temp'bars = w1+n0+n1+w0+w1+n0+n1+n0+n1 xcall strip,temp'bars : return e6: temp'bars = n1+n0+w1+w0+w1+n0+n1+n0+n1 xcall strip,temp'bars : return e7: temp'bars = n1+n0+n1+w0+n1+n0+w1+n0+w1 xcall strip,temp'bars : return e8: temp'bars = w1+n0+n1+w0+n1+n0+w1+n0+n1 xcall strip,temp'bars : return e9: temp'bars = n1+n0+w1+w0+n1+n0+w1+n0+n1 xcall strip,temp'bars : return a'ch1: a'ch'1 = temp'bars xcall strip,a'ch'1 : return a'ch2: a'ch'2 = temp'bars xcall strip,a'ch'2 : return a'ch3: a'ch'3 = temp'bars xcall strip,a'ch'3 : return a'ch4: a'ch'4 = temp'bars xcall strip,a'ch'4 : return b'ch1: b'ch'1 = temp'bars xcall strip,b'ch'1 : return b'ch2: b'ch'2 = temp'bars xcall strip,b'ch'2 : return b'ch3: b'ch'3 = temp'bars xcall strip,b'ch'3 : return b'ch4: b'ch'4 = temp'bars xcall strip,b'ch'4 : return c'ch1: c'ch'1 = temp'bars xcall strip,c'ch'1 : return c'ch2: c'ch'2 = temp'bars xcall strip,c'ch'2 : return c'ch3: c'ch'3 = temp'bars xcall strip,c'ch'3 : return c'ch4: c'ch'4 = temp'bars xcall strip,c'ch'4 : return