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"