Listing of file='IDS2PS17' on disk='vmedia/701-2716B.wvd.zip'
# Sector 843, program filename = 'IDS2PS17'
1000 REM "IDS2PS17" - FIELD NAME DISPLAY MODULE FOR SCREENS & DATA FILES
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: DIM J1$32,F8$(249)2,F9$(249)2
: IF R3$(1)<>"IDS2MS01"THEN J6=1
: ELSE J6=0
: ON J6GOTO 1040
: J1$=STR(E2$(),310,24)&ALL(00)
: FOR I=1TO 32
: ROTATEC(STR(J1$,I),-2)
: NEXT I
: ADD(J1$,20)
: MAT REDIM E2$(27)83,E3$(24)83
: DATA SAVE DA T#3,(E4+25)E2$(),E3$()
: Y=R
: X=C
1040 IF J6=1AND E$(1)="\F2"THEN J6=6
: IF J6=1THEN J6=8
: GOSUB '32("IDS2sS17")
: F6$(11)="N"
: PRINT AT(0,7);HEX(0E);
: IF J6=6THEN PRINT "Report generator - "
: IF J6=0THEN PRINT "Screen mask editor - "
: IF J6=8THEN PRINT "Batch Programs -"
: PRINT AT(19,8);HEX(0F);
: IF J6=6THEN PRINT "Report"
: IF J6=1THEN PRINT "Screen"
: IF J6=8THEN PRINT "Module"
1041 IF J6=0THEN GOSUB '45(6,E9$(2))
: ELSE GOSUB '45(6,E9$(J6))
: FOR I=7TO 13
: GOSUB '37(I)
: NEXT I
: Q=0
1060 J0=Q
: IF J0>0THEN 1110
: IF J6=0THEN GOSUB '45(1,"Screen")
: IF J6=6THEN GOSUB '45(1,"Report")
: IF J6=8THEN GOSUB '45(1,"Module")
: ON SGN(J6)GOTO 1090
: GOSUB '45(2,E9$(2))
: GOSUB '45(3,J1$)
: GOTO 1200
1090 GOSUB '45(2,E9$(J6))
: GOSUB '45(3,STR(E$(),18,32))
: GOTO 1200
1110 GOSUB '43(J0+6)
: IF E$>" "THEN 1130
: PRINT HEX(07);
: GOTO 2000
1130 GOSUB '45(1,"Data file")
: GOSUB '43(J0+6)
: GOSUB '45(2,E$)
: OR (E$,20)
: GOSUB '39(E$,5)
: MAT REDIM E3$(6)83
: DATA LOAD DA T#P,(A)E3$()
: GOSUB '45(3,STR(E3$(),22,32))
: E7$=STR(E3$(),82,8)OR ALL(20)
: GOSUB '39(E7$,5)
: MAT REDIM E3$(24)83
: DATA LOAD DA T#P,(A+8)E3$()
: GOTO 1300
1200 MAT REDIM E3$(24)83
: DATA LOAD DA T#3,(E4+9+8*SGN(J6))E3$()
1300 MAT REDIM E3$(249)8
: J5=1
: D9=0
: IF E3$(249)<>" "THEN D9=249
: IF D9=249THEN 1320
: E$=" "
: MAT SEARCHE3$(),=STR(E$,1,8)TO F9$STEP 8
: D9=INT(VAL(F9$,2)/8)
1320 J2=INT(D9/127)+1
: PRINT HEX(060F);
: FOR I=4TO 17
: PRINT AT(I,0,80);
: NEXT I
: IF D9<249THEN STR(E3$(),D9*8+1)=ALL(FF)
: GOSUB '55(4,J5)
: GOSUB '55(5,J2)
: MAT SORTE3$()TO F8$(),F9$()
: Q=(J5-1)*126+1
: PRINT HEX(0F);
: $TRAN(E3$(),HEX(20FF))R
: FOR I=0TO 125
: IF I+Q>249OR E3$(VAL(F9$(I+Q),2))=" "THEN 1340
: PRINT AT(4+MOD(I,14),9*INT(I/14));E3$(VAL(F9$(I+Q),2));
1340 NEXT I
2000 GOSUB '53("Touch one of the keys listed in the box above")
: GOSUB '34(250)
: IF Q<8THEN 1060
: IF Q=17THEN 2020
: IF Q=18THEN 2030
: IF Q=31THEN 3000
: PRINT HEX(07);
: GOTO 2000
2020 IF J5=1THEN 2000
: J5=1
: GOTO 1320
2030 IF J5=2THEN 2000
: J5=2
: IF D9>126THEN 1320
: J5=1
: PRINT HEX(07);
: GOTO 2000
3000 IF J6=0THEN 3010
: LOAD T#2,R3$(1)1000,
3010 GOSUB '32("IDS2sS01")
: F=1
: GOSUB '36
: MAT REDIM E2$(27)83,E3$(24)83
: DATA LOAD DA T#3,(E4+25)E2$(),E3$()
: MAT REDIM E2$(250)9,E3$(249)8
: R=Y
: C=X
: LOAD T#2,"IDS2PS07"1000,
3100 STOP #
: ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PS17"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"