Listing of file='IDS2PI05' on disk='vmedia/701-2717B.wvd.zip'
# Sector 652, program filename = 'IDS2PI05' 1000 REM "IDS2PI05" - "START" PROGRAM SPECIFICATION (PART 3 - BUFFER SIZES) 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : GOSUB '63(" ","Computing minimum buffer sizes - Please stand by"," ") : F1=0 : J5=1750 : C4=256 : E3=256 : F2=0 : F3=0 : DIM J1(7),J2(7),F8$(7)2,F9$(7)2,C1$(7)8 : J5,C4,E3=0 : FOR I=1TO 60 : F5$=STR(E$(),243+I*8)OR ALL(20) : IF F5$=" "THEN 2000 : F1=F1+1 1045 PRINT AT(4,2,50); : FOR J=6TO 21 : PRINT AT(J,2,50); : NEXT J : GOSUB '39(F5$,5) : IF A=0THEN 1095 : MAT REDIM F$(6)83 : DATA LOAD DA T#P,(A)F$() : MAT REDIM F$(E9)1 : STR(F$(),267,8)=STR(F$(),2,8) : FOR J=1TO 17 : F5$=STR(F$(),J*8+259)OR ALL(20) : IF F5$=" "THEN 1500 : GOSUB '39(F5$,5) : IF A=0THEN 1095 : MAT REDIM E3$(6)83 : DATA LOAD DA T#P,(A)E3$() : MAT REDIM E3$(249)8 1080 GOSUB '45(J*4+59,STR(E3$(),2,8)) : GOSUB '45(J*4+60,STR(E3$(),22,32)) : GOSUB '45(J*4+61,STR(E$(),I*17+713+J,1)) : IF E$<>"N"OR J>1THEN 1100 : J=17 : GOTO 1500 1095 F0$="Control file "&F5$&" is not on Device #5; FN '31 to Cancel" : GOSUB '35(F0$) : GOSUB '34(250) : IF Q<>31THEN 1095 : LOAD T#2,"IDS2MI01"1000, 1100 F2=F2+1 : F3=F3+VAL(STR(E3$(),404)) : UNPACK(####)STR(E3$(),405)TO Q : IF Q>C4THEN C4=Q : IF J>1THEN 1140 : MAT MOVE J1()TO C1$() : MAT SORTC1$()TO F8$(),F9$() : MAT MOVE J1(),F9$(1)TO J2(1) : MAT J1=J2 : IF Q>J1(1)THEN J1(1)=Q : Q=0 : FOR K=1TO 7 : Q=Q+J1(K) : NEXT K 1140 IF Q>J5THEN J5=Q : IF E$="S"THEN GOSUB '55(J*4+62,(VAL(STR(E3$(),435),2)+1)*(VAL(STR(E3$(),4 16))+VAL(STR(E3$(),417))+4)) : ELSE Q=0 : E3=MAX(E3,Q) 1500 NEXT J 2000 NEXT I : GOSUB '55(1,F1) : GOSUB '55(2,F2) : CONVERT F3TO STR(E$(),247,4),(####) : GOSUB '32("IDS2sI01") : GOSUB '36 : GOSUB '43(37) : J5=MAX(J5,Q) : GOSUB '55(37,MAX(J5,1750)) : GOSUB '43(39) : C4=MAX(C4,Q) : GOSUB '55(39,MAX(C4,256)) : GOSUB '43(41) : E3=MAX(E3,Q) : GOSUB '55(41,MAX(E3,256)) 2043 GOSUB '63("EXECUTE= Accept,"," EDIT= Modify, FN '0 = Edit Files, '16-'18= Buffers,'31= Cancel"," ") : F6$(11)="Y" : GOSUB '34(250) : IF Q=33THEN LOAD T#2,"IDS2PI03"1000, : IF Q=0THEN LOAD T#2,"IDS2PI04"1000, : IF Q=32THEN 2100 : IF Q>15AND Q<19THEN 3000 : PRINT HEX(07); : GOTO 2043 2100 GOSUB '43(2) : IF E$=" "THEN Q=-1 : GOSUB '55(2,Q+1) : GOSUB '45(3,R4$) : GOSUB '45(5,STR(R2$,,2)) : GOSUB '45(6,STR(R2$,3,2)) : GOSUB '45(7,STR(R2$,5,2)) : LOAD T#2,"IDS2PI06"1000, 3000 F=Q*2+5 : GOSUB '34(F) : ON F-36GOTO 3010,,3020,,3030 : PRINT HEX(07) : GOTO 2043 3010 J1=MAX(J5,1750) : IF Q<1750THEN 3015 : IF J5>1750AND Q<J5THEN 3012 : IF Q>1749AND Q<10000THEN 2043 : GOSUB '35("Work buffer must be 1750 - 9999 bytes long") : GOSUB '55(F,J1) : GOTO 2043 3012 GOSUB '63("It may be danger","ous to decrease buffer size, EXEC to decrea se, FN '31 to CANCEL","!") : F6$(11)="N" 3013 GOSUB '34(250) : IF Q=32THEN 2043 : IF Q<>31THEN 3013 : GOSUB '55(37,J1) : GOTO 2043 3015 GOSUB '35("You cannot decrease buffer size to below computed value") : GOSUB '55(F,J1) : GOTO 2043 3020 J1=MAX(C4,256) : IF Q<J1THEN 3015 : J2=Q : GOSUB '43(F-1) : IF J1>=QTHEN 2043 : GOSUB '35("Buffer is too small - Please re-enter") : GOSUB '55(F,J1) : GOTO 2043 3030 J1=MAX(E3,256) : IF Q<J1THEN 3015 : J2=Q : GOSUB '43(F-1) : IF J1>=QTHEN 2043 : GOSUB '35("Buffer is too small - Please re-enter") : GOSUB '55(F,J1) : GOTO 2043 3699 ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PI05" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"