' B A R C O D E . B A S ' Sample code to Output Postal bar Codes to a standard Epson DM printer. ' DECLARE SUB PostNet (Zip$) PostNet "10913" SUB PostNet (Zip$) DIM Zip$(9), BarCode$(9) IF Zip$ = "(Can)" OR Zip$ = "00000" THEN LPRINT : EXIT SUB 'Initialize E$ = CHR$(27) M$ = CHR$(3) O$ = STRING$(5, CHR$(28)) + STRING$(6, CHR$(0)) I$ = STRING$(5, CHR$(252)) + STRING$(6, CHR$(0)) Zip$(1) = "00011" Zip$(2) = "00101" Zip$(3) = "00110" Zip$(4) = "01001" Zip$(5) = "01010" Zip$(6) = "01100" Zip$(7) = "10001" Zip$(8) = "10010" Zip$(9) = "10100" Zip$(0) = "11000" FOR Z = 0 TO 9 BarCode$(Z) = E$ + "*" + M$ + CHR$(55) + CHR$(0) FOR I = 1 TO 5 C = VAL(MID$(Zip$(Z), I, 1)) IF C THEN BarCode$(Z) = BarCode$(Z) + I$ ELSE BarCode$(Z) = BarCode$(Z) + O$ END IF NEXT I NEXT Z 'Build BarCode 'LINE INPUT "ZIP code: "; Zip$ FOR I = 1 TO 5 Z = VAL(MID$(Zip$, I, 1)) Sum = Sum + Z BarCode$ = BarCode$ + BarCode$(Z) NEXT I CorrectionDigit$ = BarCode$((100 - Sum) MOD 10) EndCode$ = E$ + "*" + M$ + CHR$(11) + CHR$(0) + I$ BarCode$ = EndCode$ + BarCode$ + CorrectionDigit$ + EndCode$ LPRINT E$; "E"; BarCode$; E$; "F" END SUB