000 REM UPC/EAN CODE GENERATOR 010 DIM p$(29), c%(12), q$(9), m%(100) 020 INPUT " Enter the Number : "; u$ 030 FOR i% = 0 TO 9 040 READ n$, s$ 050 n% = ASC(n$) 060 s% = ASC(s$) XOR &H3F 070 WHILE n% <> 0 080 p$(i%) = RIGHT$(STR$(n% MOD 2), 1) + p$(i%) 090 p$(i% + 10) = RIGHT$(STR$(n% MOD 2 XOR 1), 1) + p$(i% + 10) 100 p$(i% + 20) = p$(i% + 20) + LEFT$(p$(i%), 1) 110 q$(i%) = RIGHT$(STR$(s% MOD 2 + 1), 1) + q$(i%) 120 n% = n% \ 2 130 s% = s% \ 2 140 WEND 150 NEXT i% 160 FOR i% = 0 TO 11 170 c%(i%) = VAL(MID$(u$, i% + 1, 1)) 180 X% = X% + c%(i%) * (((i% + 1) MOD 2) + (3 * (i% MOD 2))) 190 NEXT i% 200 c%(i%) = (10 - X% MOD 10) MOD 10 210 FOR i% = 1 TO 6 220 l$ = l$ + p$(VAL(MID$(q$(c%(0)), i% + 1, 1)) * 10 + c%(i%)) 230 r$ = r$ + p$(c%(i% + 6)) 240 NEXT i% 250 f$ = "606" + l$ + "06060" + r$ + "606" 260 KEY OFF: SCREEN 2 270 PRINT LEFT$(u$, 12) + RIGHT$(STR$(c%(12)), 1) 280 GET (0, 0)-(13 * 8, 8), m% 290 SCREEN 11: CLS 300 REM PAINT (0, 0) 310 PUT (15, 35), m% 320 FOR i% = 1 TO 95 330 b% = VAL(MID$(f$, i%, 1)) 340 LINE (20 + i%, 5)-(20 + i%, 25 + b%), SGN(b%) XOR 0 350 NEXT i% 360 WHILE INKEY$ = "" 370 WEND 380 KEY ON: SCREEN 0 390 END 400 DATA r,?,f,4,l,2,B,1,\,",",N,&,P,#,D,*,H,),t,% Confirmed working under QB64 on Windows 11 Pro.

Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.