Compucolor.org – Virtual Media

Listing of file='RDATA.BAS;01' on disk='vmedia/chip_57-sector.ccvf'

50 CLEAR 3000
99 REM  CC IS THE NUMBER OF RECORDS
100 CC= 80
200 DIM Z(52)
230 DIM BN(100),A$(100)
235 DIM D$(100)
237 Z= 1:FOR I= 1TO 52:BN(I)= Z:Z= Z+ 4:NEXT
239 FILE "T",12000
250 FILE "R",1,"NAME",1;CC,53,CC
255 FILE "R",2,"DATA",1;CC,208,CC
257 S$= "HIT ANY CHARACTER TO STOP LIST "
260 PLOT 12,15,6,7,3,0,0
262 PLOT 6,7,3,0,0,11
265 PRINT "1=READ WEEKLY DATA, 2=READ COMPANY DATA, 3=MAKE A GRAPH."
270 PRINT "4=CHANGE WEEKLY DATA, 5=CHANGE COMPANY DATA, 6=EXTRA."
290 POKE 33278,0
295 PLOT 6,1,3,0,3,11
297 PRINT "ENTER A NUMBER":PLOT 3,18,3:PRINT SPC( 1):PLOT 3,18,3
300 KB= PEEK (33278):IF KB= 0GOTO 300
310 IF KB< 49OR KB> 57GOTO 300
320 KB= INT (KB- 48)
400 ON KBGOTO 5000,7000,10000,8000,9000,700
700 IF PP= 1THEN GOTO 10870
950 IF C= 1THEN 5415:REM   CONTINUE
960 PP= 0:C= 0
965 PLOT 3,0,2,11:GOTO 262
5000 PLOT 15,3,0,3,11
5010 PRINT "FOR 1 TO 7 WEEKS ENTER - FIRST,LAST OR HIT C/R TWICE"
5012 PLOT 3,0,1,11,3,0,2,11,3,0,0,11
5013 PLOT 3,15,0
5014 PRINT "THIS IS A READ WEEKLY DATA "
5020 PLOT 3,55,3:INPUT FF,LL
5030 IF FF= 0OR LL= 0THEN PLOT 3,52,3,11:GOTO 262
5035 IF FF< 1OR FF> 52OR LL< 1OR LL> 52THEN PLOT 3,52,3,11:GOTO 5000
5036 D= LL- FF:IF D> 7THEN 5050
5037 IF LL< FFTHEN 5000
5040 GOTO 5160
5050 PLOT 3,0,3,11:PRINT "THATS MORE THEN 7 WEEKS...TRY AGAIN "
5055 FOR I= 1TO 1500:NEXT :GOTO 5000
5160 PLOT 12,15:Y= 4:GOSUB 5170:GOTO 5197
5170 XX= 21:WW= FF
5180 PLOT 6,3,3,0,Y:PRINT "    NAME     WEEK > "
5185 FOR K= FFTO LL:PLOT 3,XX,Y
5187 PRINT WW:XX= XX+ 6:WW= WW+ 1:NEXT
5190 RETURN
5197 Y= 5
5200 FOR I= 1TO CC
5205 A= 0
5210 X= 20
5300 GET 1,I,1;D$[14]
5320 PLOT 6,2,3,0,Y:PRINT D$
5330 POKE 33278,0
5332 PLOT 8:PRINT S$
5350 FOR J= FFTO LL:GET 2,I,BN(J);D$(J)[4]
5360 C= 1
5400 IF Y= 31THEN Y= 29
5410 PLOT 3,X,Y:PRINT D$(J):X= X+ 6
5415 NEXT
5420 C= 0
5425 KB= PEEK (33278)
5427 IF KB> 0THEN 5800
5430 Y= Y+ 1
5500 NEXT
5680 PLOT 3,0,4,11:Y= 4:GOSUB 5170
5695 PLOT 3,0,0,11,3,0,1,11,3,0,2,11,3,0,3,11
5700 PP= 0:GOTO 262
5800 PLOT 3,0,2:PRINT "SPCCIAL YOU CAN USE 6 NOW TO CONTINUE THE LIST"
5810 C= 1:GOTO 262
7000 GOSUB 7003:GOSUB 7210:GOTO 7290
7003 PLOT 3,0,2,11,3,0,1,11,3,0,0,11
7005 PRINT "THIS IS A READ DATA OF 1 COMPANY ONLY "
7007 REM
7010 PLOT 3,0,4,11,3,0,3,11,3,0,2,11,3,0,1,11
7100 INPUT "ENTER THE NAME OF THE COMPANY  OR  HIT C/R >";CO$
7110 IF CO$= "0"THEN 262
7115 N= LEN (CO$)
7130 FOR L= 1TO CC
7140 GET 1,L,1;D$(L)[N]
7150 IF CO$= D$(L)THEN 7170
7152 NEXT L
7155 PLOT 6,1,3,0,1:PRINT "--- NO MATCH ---":FOR I= 1TO 400:NEXT :PLOT 3,0,1,11:GOTO 7007
7170 RETURN
7210 PLOT 12,6,1,3,0,15:PRINT CO$
7215 X= 20:W= 0:Y= 4
7220 FOR I= 1TO 52
7225 W= W+ 1
7227 GET 2,L,BN(I);D$(I)[4]
7230 PLOT 6,3,3,X,Y:PRINT "WEEK";W;"  ";D$(I)
7250 IF I= 26THEN X= X+ 16:W= 26:Y= 3
7255 Y= Y+ 1
7260 NEXT
7270 RETURN
7290 GOTO 5695
8000 PLOT 3,0,0,11,3,0,1,11,3,0,2,11,3,15,0,6,2
8005 PRINT "THIS IS A CHANGE - WEEKLY DATA "
8100 PLOT 3,0,3,11:INPUT "ENTER WEEK OR HIT C/R >";W
8105 IF W= 0THEN PLOT 3,0,3,11:GOTO 262
8110 IF W< 1OR W> 52THEN PLOT 3,0,3,11:GOTO 8100
8115 PLOT 12,15
8117 PRINT "COMMANDE - @=SKIP TO NEXT LINE,  C/R=DATA IS ZERO,  /=END."
8118 PLOT 6,6,3,17,3
8119 PRINT "   NAME            WEEK ";W
8120 Z= 1
8140 Y= 4:FOR I= 1TO CC
8160 GET 1,I,1;D$(I)[18]
8165 PLOT 6,1,3,10,Y:PRINT D$(I)
8175 IF Y= 31THEN Y= 29
8176 GET 2,I,BN(W);D$(I)[4]
8177 PLOT 6,1,3,30,Y:PRINT D$(I)
8180 PLOT 6,56,3,36,Y:PRINT SPC( 4)
8200 A$= "   0"
8220 PLOT 6,3,3,36,Y:INPUT "";A$
8230 IF A$= "/"THEN 8400
8235 IF A$= "@"THEN PLOT 3,36,Y:PRINT "SKIP":GOTO 8265
8240 IF A$= "0"THEN PLOT 3,36,Y:PRINT "   0"
8260 PUT 2,I,BN(W);A$[4]
8265 Y= Y+ 1:NEXT
8350 PLOT 3,0,1,11,3,0,2,11
8400 FILE "D",2:PP= 0:GOTO 262
9000 REM
9005 PLOT 3,0,0,11,3,0,1,11,3,0,2,11,3,15,0,6,2
9010 PRINT "THIS IS A CHANGE COMPANY DATA "
9020 GOSUB 7007
9100 PLOT 12,6,3
9200 PLOT 6,2,3,0,20:PRINT " 1 = JUST ONE WEEK "
9210 PLOT 6,2,3,0,22:PRINT " 2 = CONTINIOUSLY "
9215 POKE 33278,0
9220 PLOT 6,1,3,0,24:PRINT " ENTER A NUMBER > ":PLOT 3,17,24
9230 KB= PEEK (33278):IF KB= 0GOTO 9230
9240 IF KB= 13THEN GOSUB 9350:GOTO 262
9245 IF KB< 49OR KB> 50THEN 9215
9250 KB= INT (KB- 48):ON KBGOTO 9300,9400
9300 GOSUB 9350:GOTO 9360
9350 PLOT 6,0,3,0,20,11,3,0,21,11,3,0,22,11,3,0,24,11
9355 RETURN
9360 PLOT 6,3,3,0,20:INPUT "ENTER WEEK ";W
9362 IF W< 1OR W> 52THEN 9360
9365 PLOT 3,0,22:INPUT "ENTER NEW DATA ";D$
9370 PUT 2,L,BN(W);D$[4]
9380 FILE "D",2:GOSUB 9350
9391 PLOT 6,4
9392 PLOT 3,0,20:INPUT "TO DO IT AGAIN - P.";P$
9394 IF P$= "P"THEN GOSUB 9350:GOTO 9360
9396 GOSUB 9350:GOTO 262
9400 GOSUB 9350
9405 PLOT 6,5,3,5,3:PRINT " THIS WILL REWTITE THE DATA OF ONE COMPANY ONLY "
9407 PLOT 3,0,0,11:PRINT "THE COMMANDS ARE - @=SKIP TO THE NEXT WEEK, C/R=DATA ZERO, /=END"
9410 X= 14:W= 0:Y= 4
9425 PLOT 6,1,3,0,15:PRINT CO$
9429 Z= X+ 12
9430 FOR I= 1TO 52
9435 W= W+ 1
9440 PLOT 6,7,3,X,Y:PRINT "WEEK";W
9442 GET 2,L,BN(I);D$(I)[4]
9443 PLOT 6,1,3,X+ 7,Y
9444 PRINT D$(I):D$(I)= "   0"
9445 PLOT 6,3,3,Z,Y:INPUT "";D$(I):GOTO 9500
9447 PUT 2,L,BN(I);D$(I)[4]
9450 IF I= 26THEN X= X+ 19:W= 26:Y= 3:Z= Z+ 19
9470 Y= Y+ 1
9480 NEXT
9490 FILE "D",2
9495 PP= 0:GOTO 262
9500 IF D$(I)= "@"THEN PLOT 3,Z,Y:PRINT "SKIP":GOTO 9450
9510 IF D$(I)= "/"THEN 9490
9520 IF D$(I)= "0"THEN PLOT 3,Z,Y:PRINT "   0"
9530 GOTO 9447
10000 REM
10100 PLOT 3,0,0,11,3,0,1,11,3,0,2,11,3,15,0,6,2
10110 PRINT "THIS SECTION WILL MAKE A GRAPH "
10120 GOSUB 7007
10130 PLOT 6,2,15,12
10140 PRINT "THINKING ABOUT IT"
10150 X= 9999:Y= 0000
10200 FOR I= 1TO 52
10210 GET 2,L,BN(I);D$(I)[4]
10220 Z(I)= VAL (D$(I))
10300 IF Z(I)< XTHEN X= Z(I)
10350 IF Z(I)> YTHEN Y= Z(I)
10500 NEXT
10520 A= INT ((Y/ 100)+ 1)- INT ((X/ 100)+ 1)
10530 O= INT (A/ 2):IF A= O+ OTHEN GOTO 10540
10537 E= 4:S= 5:G= 5:K= 4:M= 9
10538 T= 20
10539 GOTO 10560
10540 REM
10542 E= 5:S= 4:G= 6:K= 5:M= 8
10543 T= 16
10560 REM
10600 BB= 11:XX= 21
10610 B= (Y- X)/ 100
10648 PLOT 6,5
10650 F= BB+ 98:R= T
10655 FOR L= 1TO E+ 1
10660 PLOT 2,250,XX,F,125,255
10665 F= F- R:NEXT L
10700 FOR I= 1TO 52
10720 YY= INT (((Z(I)- X)/ B)+ BB)
10780 PLOT 6,4
10800 PLOT 2,246,BB,XX,YY,255
10820 XX= XX+ 2
10830 NEXT I
10842 PLOT 6,5
10843 PLOT 3,0,4:PRINT Y
10844 PLOT 3,0,29:PRINT X
10847 FOR I= 1TO E:PLOT 3,0,M
10848 N= (Y- X)/ G* K+ X:PRINT N
10849 K= K- 1:M= M+ S
10852 NEXT
10860 PLOT 3,0,2
10865 PRINT "SPECIAL  YOU CAN USE 6 HERE FOR THE PRICES"
10866 PP= 1
10867 GOTO 10900
10870 A= 10:D= 27
10872 PLOT 3,0,31,10,3,0,10,3,0,10
10874 PLOT 27,24,27,27
10875 FOR I= 1TO 52
10877 PLOT 6,1
10879 PLOT 27,10,3,A,D:PRINT Z(I):PLOT 27,11,27,27
10882 A= A+ 1:NEXT
10884 PLOT 3,0,1,11,3,16,1
10886 PRINT CO$,"MIN.";X,"MAX.";Y
10888 PP= 0
10900 FILE "D",2:GOTO 262
12000 REM
12100 FILE "E",FI,EN,LN
12150 IF FI= 2AND EN= 14THEN 15500
12160 IF FI= 1AND EN= 14THEN 14300
12200 PRINT FI,EN,LN
14300 PLOT 12,15,6,1,3,0,0
14310 PRINT "THERE IS NO NAME FILE...DO YOU WISH TO MAKE ONE Y/N
14320 INPUT A$
14330 IF A$= "Y"THEN 14350
14340 END
14350 FILE "N","NAME",CC,53,CC
14352 FOR J= 0TO 10:READ BN(J):NEXT J
14354 DATA 1,16,17,23,29,33,35,39,45,48,51
14356 FOR J= 0TO 10:READ NN(J):NEXT J
14358 DATA 15,1,6,6,4,4,2,4,6,3,3,3
14360 A= 0:B= 1
14362 FILE "R",1,"NAME",1
14363 PRINT "I HAVE MADE THE FILE NOW I AM WRITING SOME DATA INTO IT"
14364 PRINT "THIS MAY TAKE SOME TIME ... SO HANG IN THERE"
14365 B$= "ABC":D$= " XXXXXXXXXXX"
14370 FOR L= 1TO CC
14375 A= A+ B
14380 C$= STR$ (A)
14385 A$= B$+ C$+ D$
14390 FOR K= 0TO 10
14395 PUT 1,L,BN(K);A$[NN(K)]
14397 NEXT K:NEXT L
14399 FILE "C",1
15000 GOTO 50
15500 PLOT 12,15,6,1,3,0,0
15510 PRINT "THERE IS NO DATA FILE....DO YOU WISH TO MAKE ONE Y/N"
15520 INPUT A$
15530 IF A$= "Y"THEN 15550
15540 END
15550 FILE "N","DATA",CC,208,CC
15560 PRINT
15563 PLOT 6,1
15565 PRINT "I HAVE MADE THE FILE  NOW I AM WRITING SOME DATA INTO IT"
15570 PRINT "THIS MAY TAKE SOME TIME ...DON'T HANG UP"
15571 T= 52:P= CC
15572 A= 4:B= 14
15573 FILE "R",2,"DATA",1
15575 FOR I= 1TO 52
15580 FOR J= 1TO CC
15581 PLOT 3,0,7:P= P- 1:PRINT P
15585 C= INT (B- A)* RND (2)+ A
15586 A= A+ 1:B= B+ 3
15587 D= B+ C:C$= STR$ (D)
15588 AQ$= C$
15589 PUT 2,J,BN(I);AQ$[4]
15590 NEXT J
15591 P= CC
15592 A= A+ 3:B= B+ 8
15593 PLOT 3,0,6:T= T- 1:PRINT T
15595 NEXT I
15597 FILE "C",2
15599 GOTO 50