2 ! INSERTS NEW VENDORS INTO VENDOR BOOK! 5 ! PROGRAM NAME:"ISTVBK 8 DIM Z$(3%):Z$(0%)="FIRST ":Z$(1%)="SECOND":Z$(2%)="THIRD ":Z$(3%)="FOURTH" 10 OPEN "DK1:ACCPAY.TVB" AS FILE 1%:DIM #1%,V1$(50%)=128%:L%=23% 15 I%=0%:PRINT "BEGIN INSERTING VENDORS BY ANSWERING THE FOLLOWING QUESTIONS." 20 PRINT "THE VENDOR NUMBER MUST BE 6 CHARACTERS LONG" 25 PRINT "AND THE VENDORS NAME AND ADDRESS 23 CHARACTERS OR LESS." 28 PRINT "ANSWER WITH A CARRIAGE RETURN IF AN ADDRESS PART DOESN'T EXIST." 30 PRINT "ENTER:":INPUT " VENDOR NUMBER ";V1$:Z%=0% 35 IF LEN(V1$)<>6% THEN PRINT "VEN. NO. NOT 6 CH.":PRINT:GOTO 30 36 PRINT " VENDOR NAME ";:INPUT LINE P$:P$=LEFT(P$,LEN(P$)-2%) 37 IF LEN(P$)>L% THEN P$=LEFT(P$,L%) ELSE P$=P$+SPACE$(L%-LEN(P$)) 40 PRINT " ";Z$(Z%);" PART OF ADDRESS ";:INPUT LINE N$ 45 N$=LEFT(N$,LEN(N$)-2%):IF LEN(N$)>L% THEN N$=LEFT(N$,L%) 50 P$=P$+N$+SPACE$(L%-LEN(N$)):Z%=Z%+1%:IF Z%<4% THEN 40 55 INPUT " ZIP CODE ";Z$:IF LEN(Z$)=0% THEN Z$=" " 60 IF LEN(Z$)<>5% THEN PRINT "ZIP NOT 5 CH.":GOTO 55 65 INPUT "IS INSERTION CORRECT? - Y OR N";A$:IF A$="N" THEN 30 70 IF A$<>"Y" THEN 65 ELSE I%=I%+1%:V1$(I%)=V1$+P$+Z$ 75 IF I%=50% THEN PRINT "NO MORE UPDATES DURING THIS PASS":GOTO 85 80 INPUT "MORE UPDATES? - Y OR N";A$:IF A$="Y" THEN 30 ELSE IF A$<>"N" THEN 80 85 DIM J(50%),J%(50%):OPEN "DK1:ACCPAY.TV1" AS FILE 2%:DIM #2%,V2$(50%)=128% 90 J(K%)=VAL(LEFT(V1$(K%),6%)) FOR K%=1% TO I% 95 J%(K%)=K% FOR K%=1% TO I% 100 FOR K%=1% TO I%-1%:IF J(K%)<=J(K%+1%) THEN 125 105 T=J(K%+1%):J(K%+1%)=J(K%):T%=J%(K%+1%):J%(K%+1%)=J%(K%) 110 FOR L%=K% TO 2% STEP -1% 115 IF J(L%-1%)<=T THEN J(L%)=T:J%(L%)=T%:GOTO 125 120 J(L%)=J(L%-1%):J%(L%)=J%(L%-1%):NEXT L%:J(1%)=T:J%(1%)=T% 125 NEXT K% 130 V2$(K%)=V1$(J%(K%)) FOR K%=1% TO I% 135 CLOSE 1%:KILL "DK1:ACCPAY.TVB":V2$(0%)="000000" 140 OPEN "DK1:ACCPAY.VBK" AS FILE 1%:DIM #1%,V$(3500%)=128%,V%(0%) 145 M%=V%(0%):N%=M%+I%:V$(0%)="000000" 150 FOR K%=N% TO 1% STEP -1% 155 IF LEFT(V$(M%),6%)>LEFT(V2$(I%),6%) THEN V$(K%)=V$(M%):M%=M%-1%:GOTO 165 160 V$(K%)=V2$(I%):I%=I%-1%:IF LEFT(V$(M%),6%)=LEFT(V2$(I%+1%),6%) THEN PRINT "INSERTING EXISTING VENDOR ";LEFT(V2$(I%+1%),6%):GOSUB 200 165 NEXT K%:V%(0%)=N%:PRINT "UPDATING COMPLETE":PRINT N%;"VENDORS IN BOOK": CLOSE 1%,2%:KILL "DK1:ACCPAY.TV1":STOP 200 N%=N%-1%:K%=K%-1%:M%=M%-1% 205 V$(J%)=V$(J%+1%) FOR J%=K% TO N% 210 RETURN 220 END