Listing of file='IDS2PR03' on disk='vmedia/701-2716B.wvd.zip'
# Sector 61, program filename = 'IDS2PR03' 1000 REM "IDS2PR03" - Release 2.1 - REPORT GENERATOR LINE FORMAT EDITOR 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : COM F5,C2,F6 : IF E0$<>"IDS2sR02"THEN GOSUB '32("IDS2sR02") : IF F5>0THEN 1310 : GOTO 1071 1055 DEFFNA(P)=(F4-F5)*166+88+P : DEFFNR(R)=F4-F5+4 : DEFFNC(C)=C1-C2+15 1060 I=INT((VAL(E$((F4-F5+1)*166-78+Z))+95)/128) : RETURN 1065 I=(F4-F5+1)*166-78+Z : RETURN 1071 F5=MAX(1,F4-11) : C2=1 : IF C1>65THEN C2=47 : IF C1>111THEN C2=94 : GOTO 1300 1100 DEFFN'71(X,Y) : DATA LOAD BA T#3,(E4+33+X)E4$() : STR(E$(),Y*166-85,166)=E4$() : RETURN 1120 DEFFN'77(X,Y) : E4$()=STR(E$(),Y*166-85,166) : DATA SAVE BA T#3,(E4+33+X)E4$() : IF STR(E4$(),3)<>" "THEN F6=MAX(F6,X) : RETURN 1140 E4$()=STR(E$(),Y*166-85,166) : PRINT HEX(060202000F);AT(Y+3,0);STR(E4$(),1,2);" ";STR(E4$(),5,1);" ";STR (E4$(),6,1);" ";STR(E4$(),7,2);" ";STR(E4$(),3,1);" ";STR(E4$(),4,1) : PRINT AT(Y+3,15);STR(E4$(),8+C2,65); : RETURN 1220 PRINT HEX(060F);AT(3,53); : PRINTUSING 1225,F5,F5+11,C2,C2+64; : PRINT AT(16,12); : PRINTUSING 1226,C2 : IF C2=1THEN PRINT AT(16,46);" " : IF C2=47THEN PRINT AT(16,46);"80^ " : IF C2=94THEN PRINT AT(16,46);" 132^" : PRINT AT(16,76); : PRINTUSING 1226,C2+64 : FOR Y=1TO 12 : GOSUB 1140 : NEXT Y : RETURN 1225 %## to ##, columns ## to ### 1226 %###^ 1300 FOR Y=1TO 12 : GOSUB '71(F5+Y-1,Y) : NEXT Y 1310 GOSUB 1220 : GOSUB '63("'0=Define/edit f","ield, '16=Edit print control specs, EXECUT E=accept "," ") 1320 PRINT HEX(060F);AT(02,66); : PRINTUSING 1330,F4,C1; : PRINT AT(F4-F5+4,C1-C2+15);HEX(05); 1330 %##, column ### 1340 PRINT HEX(05); : D2=MIN(99,MAX(D2,F6,F4,1)) : KEYIN E6$,,1900 : IF E6$=HEX(0D)THEN 1710 : IF E6$=HEX(82)THEN 2410 : IF E6$=HEX(08)THEN 1780 : Z=C1 : GOSUB 1060 : IF E6$>HEX(1F)AND E6$<HEX(80)AND I<2THEN 1400 1390 PRINT HEX(07); : GOTO 1340 1400 PRINT E6$; : E$((F4-F5)*166+88+C1)=E6$ 1420 C1=C1+1 : IF C1<66AND C2=1THEN 1320 : IF C2=47AND C1<112THEN 1320 : IF C2=94AND C1<159THEN 1320 : IF C1<159THEN 1470 : PRINT HEX(0708); : C1=C1-1 : GOTO 1320 1470 IF C2=47THEN C2=94 : IF C2=1THEN C2=47 : GOTO 1310 1710 F4=F4+1 : IF F4<100THEN 1730 : F4=F4-1 : GOTO 1390 1730 IF E6$=HEX(0D)THEN C1=1 : IF F4-F5<12THEN 1820 : GOSUB '77(F5,1) : STR(E$(),81)=STR(E$(),247) : GOSUB '71(F5+12,12) : F5=F5+1 : IF E6$=HEX(0D)THEN C2=1 : GOTO 1310 1750 IF F4=1THEN 1390 : F4=F4-1 : IF F4>=F5THEN 1320 : GOSUB '77(F5+11,12) : MAT COPY -E$()<81,1826>TO -E$()<247,1826> : GOSUB '71(F5-1,1) : F5=F5-1 : GOTO 1310 1780 Z=C1-1 : GOSUB 1060 : IF C1=1OR I=2THEN 1390 : PRINT HEX(082008); : E$((F4-F5)*166+88+C1-1)=" " 1800 C1=MAX(1,C1-1) : IF C1>=C2THEN 1320 1820 IF C2=94AND C1>111THEN 1320 : IF C2=47AND C1>65THEN 1320 : IF C2=1THEN 1320 : C2=1 : IF C1>65THEN C2=47 : IF C1>111THEN C2=94 : GOTO 1310 1900 $TRAN(E6$,HEX(21F0))R : ON VAL(E6$)+1GOTO 1910,1390,1390,1390,1390,1710,1750,1390,1390,2030,1970, 1930,1420,1950,1940,1390,1920,,,,,2110,2150 : ON VAL(E6$)-68GOTO 1710,1750,,,2030,1970,,1420,1950 : GOTO 1390 1910 Z=C1 : GOSUB 1060 : ON IGOTO 1390 : FOR I=0TO 11 : GOSUB '77(F5+I,I+1) : NEXT I : LOAD T#2,"IDS2PR07"1000, 1920 S=F5 : LOAD T#2,"IDS2PR06"1000, 1930 C1=MIN(C1+4,158) : GOTO 1420 1940 C1=MAX(1,C1-4) 1950 IF C1=1THEN PRINT HEX(07); : GOTO 1800 1970 IF C1=158THEN 1390 : Z=C1 : GOSUB 1060 : J=I : Z=C1-1 : GOSUB 1060 : IF J=2AND I=2THEN 1390 : Z=C1 : GOSUB 1065 : J=I : Z=C1+1 : GOSUB 1065 : MAT COPY -E$()<J,158-C1>TO -E$()<I,158-C1> : Z=C1 : GOSUB 1065 : E$(I)=" " : GOSUB '72(1) : GOTO 1320 2030 Z=C1 : GOSUB 1060 : IF C1=158OR I=2THEN 1390 : Z=C1 : GOSUB 1065 : J=I : Z=C1+1 : GOSUB 1065 : STR(E$(),J,159-C1)=STR(E$(),I,158-C1)&" " : GOSUB '72(255) : GOTO 1320 2110 IF F4-F5=11OR C1=158THEN 1390 : Z=C1 : GOSUB 1060 : IF I=2THEN 1390 : IF STR(E$(),(F4-F5+2)*166-85+C1+7,159-C1)<>" "THEN 1390 : STR(E$(),(F4-F5+2)*166-85+C1+7,159-C1)=STR(E$(),(F4-F5+1)*166-85+C1+7,159 -C1) : STR(E$(),(F4-F5+1)*166-85+C1+7,159-C1)=" " 2140 Y=F4-F5+1 : GOSUB '77(F4,Y) : GOSUB 1140 : Y=F4-F5+2 : GOSUB '77(F4+1,Y) : GOSUB 1140 : X=1 : GOSUB 2310 : F4=F4+1 : GOTO 1320 2150 IF F4=F5OR C1=158THEN 1390 : Z=C1 : GOSUB 1060 : IF I=2THEN 1390 : IF STR(E$(),(F4-F5)*166-85+C1+7,159-C1)<>" "THEN 1390 : STR(E$(),(F4-F5)*166-85+C1+7,159-C1)=STR(E$(),(F4-F5+1)*166-85+C1+7,159-C 1) : STR(E$(),(F4-F5+1)*166-85+C1+7,159-C1)=" " : Y=F4-F5+1 : GOSUB '77(F4,Y) : GOSUB 1140 : Y=F4-F5 : GOSUB '77(F4-1,Y) : GOSUB 1140 2185 X=255 : GOSUB 2310 : F4=F4-1 : GOTO 1320 2210 DEFFN'72(X) : MAT REDIM E4$(128)2 : E6$=BIN(F4) : MAT SEARCHF$()<8,>,=E6$TO E4$()STEP 9 : E6$=BIN(X) : X=0 2220 X=X+1 : IF E4$(X)=HEX(0000)THEN 2230 : Q=4+VAL(E4$(X),2) : IF VAL(F$(Q))>=C1THEN ADD(F$(Q),E6$) : GOTO 2220 2230 MAT REDIM E4$(16)16 : Y=F4-F5+1 : MAT REDIM F$(27)83 : DATA SAVE DA T#3,(E4+8)F$() : MAT REDIM F$(E9)1 : GOTO 1140 2310 MAT REDIM E4$(128)2 : E6$=BIN(F4) : MAT SEARCHF$()<8,>,=E6$TO E4$()STEP 9 : E6$=BIN(X) : X=0 2320 X=X+1 : IF E4$(X)=HEX(0000)THEN 2230 : Q=4+VAL(E4$(X),2) : IF VAL(F$(Q))>=C1THEN ADD(F$(Q+3),E6$) : GOTO 2320 2330 MAT REDIM E4$(16)16 : MAT REDIM F$(27)83 : DATA SAVE DA T#3,(E4+8)F$() : MAT REDIM F$(E9)1 : RETURN 2400 STOP # 2410 FOR I=0TO 11 : GOSUB '77(F5+I,I+1) : NEXT I : PRINT AT(23,0,80);" Checking line formats" : F4,F5=1 : FOR I=1TO 12 : GOSUB '71(I,I) : NEXT I : GOSUB 1220 : LOAD T#2,"IDS2PR08"1000, 2600 STOP # : ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PR03" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"