Listing of file='IDS2PI04' on disk='vmedia/701-2717B.wvd.zip'
# Sector 71, program filename = 'IDS2PI04'
1000 REM "IDS2PI04" - "START" PROGRAM SPECIFIACTION (PART 2 - DATA FILES)
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB '32("IDS2sI02")
: E9=2250
: DIM F8$(61)2,F9$(61)2
: F6$(11)="N"
: IF STR(E$(),251,480)=" "THEN 2500
1040 PRINT HEX(06);AT(4,2,50);
: FOR I=6TO 21
: PRINT AT(I,2,50);
: NEXT I
: MAT REDIM F$(60)8,E3$(60)8
: F$()=STR(E$(),251,480)
: FOR I=1TO 60
: IF F$(I)=" "THEN F$(I)=ALL(FF)
: NEXT I
: MAT SORTF$()TO F8$(),F9$()
: MAT MOVE F$(),F9$(1)TO E3$(1)
: $TRAN(E3$(),HEX(20FF))R
: STR(E$(),251,480)=E3$()
1065 MAT REDIM F$(60)17,E3$(60)17
: F$()=STR(E$(),731,1020)
: MAT MOVE F$(),F9$(1)TO E3$(1)
: STR(E$(),731,1020)=E3$()
: J2,J3=0
: FOR I=1TO 60
: PRINT HEX(060F);AT(MOD(I-1,20)+2,INT((I-1)/20)*9+53);STR(E$(),I*8+243,8);
: IF E3$(VAL(F9$(I),2))=" "THEN 1200
: J2=J2+1
1100 IF STR(F$(I),1,1)="N"THEN 1200
: FOR J=1TO 17
: IF STR(F$(I),J,1)="R"OR STR(F$(I),J,1)="S"THEN J3=J3+1
: NEXT J
1200 NEXT I
: MAT REDIM F$(E9)1,E3$(249)8
: STR(E$(),1751)=" "
: GOSUB '55(1,J2)
: GOSUB '55(2,J3)
2500 F0$="=Add"
: IF STR(E$(),251,480)>" "THEN F0$=F0$&"/Edit a file FN'09=Delete"
: F0$=F0$&" a file FN'15=Help FN'31=Cancel"
: GOSUB '63("EXEC=Accept '0 ",F0$," ")
: GOSUB '34(250)
: J4=Q
: IF Q=31THEN LOAD T#2,"IDS2PI03"1000,
: IF Q=9THEN 2540
: IF Q<>0THEN 2750
2540 GOSUB '34(63)
: IF E$=" "THEN 2500
: MAT SEARCHE$()<251,480>,=STR(E$,1,8)TO F9$STEP 8
: J1=INT((VAL(F9$,2)+7)/8)
: IF J1=0AND J4=9THEN 2560
2550 F5$=E$OR ALL(20)
: GOSUB '39(F5$,5)
: IF Q=2THEN 2570
: IF J4=9THEN 2640
2560 GOSUB '35("Invalid file name - Please re-enter, or enter blank to abort")
: GOTO 2540
2570 DATA LOAD BA T#P,(A)STR(F$(),1,256)
: IF STR(F$(),1,4)<>HEX(8201D3E3)THEN 2560
: MAT REDIM F$(6)83
: DATA LOAD DA T#P,(A)F$()
: MAT REDIM F$(E9)1
: IF F$(10)<"5"THEN 2590
: E$=STR(F$(),82,8)
: GOTO 2550
2590 STR(F$(),267,8)=STR(F$(),2,8)
: FOR I=0TO 16
: MAT REDIM E3$(6)83
: E$=STR(F$(),I*8+267,8)OR ALL(20)
: IF E$=" "THEN 2630
: GOSUB '39(E$,5)
: IF Q<2THEN 2630
: DATA LOAD DA T#P,(A)E3$()
: GOSUB '45(I*4+63,STR(E3$(),2,8))
: GOSUB '45(I*4+64,STR(E3$(),22,32))
: E6$=" "
: IF J1>0THEN E6$=E$(J1*17+714+I)
: IF E6$=" "THEN E6$="S"
: GOSUB '45(I*4+65,E6$)
2620 GOSUB '55(I*4+66,((VAL(STR(E3$(),435),2)+1)*((VAL(STR(E3$(),416))+VAL(STR
(E3$(),417))+4))))
2630 MAT REDIM E3$(249)8
: NEXT I
2640 IF J4<>9THEN 2650
: GOSUB '53("Touch FN'09 to delete, EXEC or FN'31 to abort")
: GOSUB '34(250)
: IF Q=33THEN 2540
: IF Q=32OR Q=31THEN 1040
: IF Q<>9THEN 2640
2645 IF J1<60THEN STR(E$(),J1*8+243,(60-J1)*8)=STR(E$(),J1*8+251)
: ELSE STR(E$(),J1*8+243,8)=" "
: IF J1<60THEN STR(E$(),J1*17+714,(60-J1)*17)=STR(E$(),J1*17+731)
: ELSE STR(E$(),J1*17+714,17)=" "
: GOTO 1040
2650 GOSUB '63("EXEC=Accept file"," FN'0 & FN'16-'31=Edit use code, FN'15=Help
, FN'8=Abort"," ")
: GOSUB '34(250)
: IF Q=33THEN 2540
: IF Q=32THEN 2680
: IF Q=0THEN 2710
: IF Q>15AND Q<32THEN 2700
2680 IF J1>0THEN 2690
: E$=" "
: MAT SEARCHE$()<251,480>,=STR(E$,1,8)TO F9$STEP 8
: J1=INT((VAL(F9$,2)+7)/8)
2690 GOSUB '43(63)
: STR(E$(),J1*8+243,8)=E$
: F0$=" "
: FOR I=1TO 17
: GOSUB '43(I*4+61)
: STR(F0$,I)=E$
: NEXT I
: STR(E$(),J1*17+714,17)=F0$
: GOTO 1040
2700 Q=Q-15
2710 F=Q*4+65
: GOSUB '43(F)
: IF E$<>" "THEN 2730
: PRINT HEX(07);
: GOTO 2650
2730 F6$(12),F6$(13)="N"
: GOSUB '34(F)
: F6$(12),F6$(13)="Y"
: IF POS("NRS"=E$)>0THEN 2650
: GOSUB '35("Use code must be N=Not used, R=Random only, or S=Sequential/Ra
ndom")
: GOTO 2730
2750 IF Q=32THEN LOAD T#2,"IDS2PI05"1000,
: IF Q=31THEN LOAD T#2,"IDS2PI02"1000,
: GOTO 2500
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PI04"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"