1DIM t$(500), a$(500), upc$(500)
16TEXT
17? "PLACE FILE DISK OR DDP IN DRIVETHEN PRESS ANY KEY TO    CON TINUE"
18GET gg$
20 cl$=CHR$(12)
21 d$=CHR$(4)
25? cl$
30? TAB(15); "MENU":?:?
31? "1.  START NEW FILE"
32? "2.  USE EXISTING FILE":?:? "OPTION 1 WILL DELETE YOUR   CURRENT FILE"
33GET gg$:IF gg$<"1" OR gg$>"2" THEN 33
34IF gg$="1" THEN 100
36? cl$:? "Reading file into memory": x=0
37? d$; "OPEN INVENT"
38? d$; "READ INVENT"
39 x=x+1
40INPUT t$(x)
41IF t$(x)="/done" OR t$(x)="/DONE" THEN  x=x-1:GOTO 45
42INPUT a$(x)
43INPUT upc$(x)
44 x=x+1:GOTO 40
45? d$; "CLOSE INVENT"
46? d$; "CLOSE INVENT":? "HIT ANY KEY TO CONTINUE"
47GET gg$:IF gg$="" THEN 47
49? cl$
50? TAB(15); "MENU":?
51ONERR  GOTO 49
53? "1.  LIST DATA ON SCREEN":? "2.  LIST DATA ON PRINTER"
54? "3.  FIND ONE ITEM":? "4.  SORT DATA BY SERIAL NO."
55? "5.  ADD TO FILE":? "6.  DELETE FROM FILE":? "7.  EXIT"
56GET gg:IF gg<1 OR gg>7 THEN 56
60? cl$
70ON gg GOTO 1000, 1200, 1350, 1500, 105, 1750, 1900
100REM                   ** INPUT DATA
101 x=0
105? cl$
110? "ENTER  ITEM(34 LETTERS MAX)"
111?
120? "ENTER SERIAL NO./ID NO.":? "(28 LETTERS MAX)"
121?
130? "ENTER VALUE(11 DIGITS MAX)"
135?:? "WHEN ALL DONE ENTERING DATA":? "ENTER /DONE FOR      ITEM"
136?
140? "HIT ANY KEY TO CONTINUE"
150GET qq$:IF qq$="" THEN 150
151? cl$
152 x=x+1
160INPUT "ITEM: "; t$(x)
165IF t$(x)="/DONE" OR t$(x)="/done" THEN GOTO 291
170IF LEN(t$(x))>34 THEN ? "TOO LONG REENTER":?:GOTO 160
180IF LEN(t$(x))<1 THEN ? "NO DATA ENTERED, REENTER":?:GOTO  160
190?:INPUT "SERIAL NO. "; a$(x)
200IF LEN(a$(x))>28 THEN ? "TOO LONG, REENTER":?:GOTO 190
210IF LEN(a$(x))<1 THEN ? "NO DATA ENTERED, REENTER":?:GOTO  190
220?:INPUT "VALUE: "; upc$(x)
230IF LEN(upc$(x))>11 THEN ? "UPC MUST BE 11                 DIGIGITS":?:GOTO 220
240IF LEN(upc$(x))<1 THEN ? "NO DATA ENTERED,                REENTER":?:GOTO 220
241IF LEN(upc$(x))>11 THEN GOTO 220
290GOTO 151
291 a$(x)="/done"
292 upc$(x)="0000000000"
295REM                   ** REVIEW DATA
296? cl$
300? "DO YOU WISH TO REVIEW DATA     BEFORE SAVING?(Y/N)"
310GET gg$:IF gg$="" THEN 310
320IF gg$="Y" OR gg$="y" THEN 400
330IF gg$="N" OR gg$="n" THEN 350
340GOTO 295
350GOTO 630
400? cl$: t=0: k=x-1
410FOR t=1 TO k:FLASH:? "RECORD NUMBER "; t:NORMAL:?
420? t$(t):?
430? "CORRECT(Y/N)"
431GET gg$
450IF gg$="Y" OR gg$="y" THEN 480
460INPUT "ENTER CORRECT DATA"; t$(t)
470IF LEN(t$(t))>34 OR LEN(t$(t))<1 THEN ? "REENTER":GOTO    420
480?:? a$(t):?
490? "CORRECT(Y/N)"
491GET gg$
500IF gg$="Y" OR gg$="y" THEN 530
510INPUT "ENTER CORRECT DATA"; a$(t)
520IF LEN(a$(t))>28 OR LEN(a$(t))<1 THEN ? "REENTER":GOTO    480
530?:? upc$(t)
540? "CORRECT(Y/N)"
541GET gg$
550IF gg$="Y" OR gg$="y" THEN 620
560INPUT "ENTER CORRECT DATA"; upc$(t)
570IF LEN(upc$(t))<1 OR LEN(upc$(t))>11 THEN 530
620?:NEXT t
630? cl$:? "ALL DONE...SAVING DATA NOW"
650 t=0
660? d$; "OPEN INVENT"
670? d$; "WRITE INVENT"
680FOR t=1 TO x
690? t$(t)
700? a$(t)
710? upc$(t)
720NEXT t
730? d$; "CLOSE INVENT"
735 x=x-1
740GOTO 49
1000REM                 ** LIST ON SCREEN
1010? "VALUE WILL NOT BE ON SCREEN"
1020FOR fs=1 TO 1000:NEXT fs
1030? cl$: t=0: fs=0
1040? "    SERIAL         ITEM"
1050FOR fs=1 TO 31:? "*"; :NEXT fs: fs=0:?:?
1060FOR t=1 TO x
1070? MID$(a$(t), 1, 11); 
1080? TAB(14); MID$(t$(t), 1, 17)
1090 fs=fs+1
1100IF fs=15 THEN  fs=0:? "HIT ANY KEY TO CONTINUE":GET gg$
1110NEXT t
1120? "HIT ANY KEY TO CONTINUE"
1121GET gg$:IF gg$="" THEN 1121
1122GOTO 49
1200REM                 ** LIST TO PRINTER
1205PR #1: t=0: fs=0
1210? "          SERIAL                         ITEM         VALUE"
1215FOR fs=1 TO 77:? "*"; :NEXT fs:?:?: fs=0
1220FOR t=1 TO x
1224 pz=(26-(LEN(a$(t))))
1225? a$(t); :FOR ap=1 TO pz:? " "; :NEXT ap
1226 pz=(40-(LEN(t$(t))))
1230? t$(t); :FOR ap=1 TO pz:? " "; :NEXT ap
1240? upc$(t)
1250NEXT t
1260PR #0
1300GOTO 49
1350REM                 ** FIND ONE ITEM
1355 t=0: fs=0
1360INPUT "ITEM: "; ft$:?
1380FOR t=1 TO x
1390IF ft$=t$(t) THEN  fs=t
1400NEXT t
1410? cl$:? "RECORD NUMBER"; fs:?
1420? a$(fs):?
1430? t$(fs):?
1440? upc$(fs):?
1450? "HIT ANY KEY TO CONTINUE"
1460GET gg$:IF gg$="" THEN 1460
1470GOTO 49
1500REM                 ** SORT DATA
1505 g=0: k=0: j=0: i=0: ro=0: point=0
1510? "SORTING DATA, PLEASE WAIT"
1530FOR g=1 TO x-1
1531 point=g
1535FOR k=g+1 TO x
1540IF a$(point)>a$(k) THEN  point=k
1545NEXT k
1550IF g=point THEN 1600
1555 q$=a$(g): qt$=t$(g): qu$=upc$(g)
1556 a$(g)=a$(point): t$(g)=t$(point): upc$(g)=upc$(point)
1557 a$(point)=q$: t$(point)=qt$: upc$(point)=qu$
1600NEXT g
1610?:?:?:SPEED =100:? "   A L L  D O N E":SPEED =250
1620IF xtx$="HELP" THEN  xtx$="OK": a$(x)="/done":           t$(x)="/done": upc$="00000000000":GOTO 630
1630GOTO 49
1750REM                 ** DELETE DATA
1755 t=0: fs=0
1760? "ENTER DATA TO BE DELETED":?
1765INPUT "ITEM: "; dt$
1766IF LEN(dt$)<1 THEN 1765
1775FOR t=1 TO x
1780IF t$(t)=dt$ THEN  fs=t
1790 t$(fs)="ZZZZZ": a$(fs)="ZZZZZ": upc$(fs)="00000000000"
1795 xtx$="HELP"
1800GOTO 1500
1811 a$(fs)="ZZZZZZ": t$(fs)="ZZZZZZZ":                      upc$(fs)="ZZZZZZZZZZZ"
1900END

