Listing of file='IDS2PS32' on disk='vmedia/701-2724B.wvd.zip'
# Sector 471, program filename = 'IDS2PS32' 1000 REM "IDS2PS32" - Release 2.1 - DOCUMENTATION FOR READ A RECORD FROM A DAT A FILE 1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM" : IF STR(E$(),99,8)>"FILE # 0"AND STR(E$(),99,8)<"FILE # 8"THEN STR(E$(),99 ,8)=STR(C9$,(VAL(E$(106))-49)*8+1) : IF STR(E$(),113,8)>"FILE # 0"AND STR(E$(),113,8)<"FILE # 8"THEN STR(E$(), 113,8)=STR(C9$,(VAL(E$(120))-49)*8+1) 1040 IF STR(E$(),121,8)>"FILE # 0"AND STR(E$(),121,8)<"FILE # 8"THEN STR(E$(), 121,8)=STR(C9$,(VAL(E$(128))-49)*8+1) : IF E$(107)="0"THEN 2520 : IF E$(107)>"2"AND E$(110)>"2"THEN 2000 : GOSUB '48(0,"Key consists of:",0) : F0$=" " : FOR I=131TO 287STEP 39 : IF E$(I)=" "THEN 1990 : IF F0$<>" "THEN GOSUB '48(16,"+",0) 1090 IF E$(I)="F"THEN E$="field" : ELSE E$="constant" : GOSUB '48(18,E$,0) : IF E$(I)="C"AND STR(E$(),I+1,36)=" "THEN GOSUB '48(27,"(blanks)",36) : ELSE GOSUB '48(27,STR(E$(),I+1),36) : F9$=STR(E$(),I+37) : E$="(Length = "&STR(F9$,,2)&")" : IF F9$<>" "THEN GOSUB '48(-1,E$,0) : F0$=F9$ : GOSUB '49(0) : GOSUB 3020 1990 NEXT I 2000 E$="Read from file "&STR(E$(),99,8)&" for" : IF E$(112)="I"THEN E$=E$&" inquiry only" : ELSE E$=E$&" update or delete" : IF E$(111)="N"THEN E$=E$&" without system error messages" : ELSE E$=E$&" with system error messages" : GOSUB '48(0,E$,0) : GOSUB '49(0) : GOSUB 3020 2025 FOR I=107TO 110STEP 3 : IF I=110AND E$(108)=" "THEN 2510 : E8$,E6$=E$(108) : IF I=110THEN 2042 : IF E8$<>" "THEN IF E$(109)="Y"THEN E8$="ON," : ELSE E8$="OFF," : GOTO 2050 2042 IF E8$<>" "THEN IF E$(109)="Y"THEN E8$="OFF," : ELSE E8$="ON," 2050 E$="If sysflag "&E6$&" is "&E8$ : IF E6$<>" "THEN GOSUB '48(0,E$,LEN(E$)+1) : IF E$(I)=" "THEN Q=0 : ELSE CONVERT E$(I)TO Q : ON QGOTO 2110,2120,2130,2140 : GOTO 2510 2110 E$="Read record randomly with key specified above" : GOTO 2200 2120 E$="Read first logical record with key >= that specified above" : GOTO 2200 2130 E$="Read next logical record" : GOTO 2200 2140 E$="Read next logical record after a delete in same file" 2200 IF E6$<>" "THEN OR (STR(E$,,1),20) : GOSUB '48(0,E$,0) : GOSUB '49(0) : GOSUB 3020 2510 NEXT I 2520 F5$=STR(E$(),113) : IF F5$=" "THEN 2610 : IF F5$<>E9$(2)THEN 2540 : E$="Set the work buffer" : GOTO 2560 2540 MAT SEARCHC9$,=STR(F5$,,8)TO F9$STEP 8 : IF F9$=HEX(0000)THEN 2550 : E$="Set the work buffer area for file "&F5$ : GOTO 2560 2550 E$="Set field "&F5$ 2560 GOSUB '48(0,E$,0) : F5$=STR(E$(),121) : IF F5$=STR(E$(),99,8)THEN E$=" equal to the record read" : ELSE E$=" equal to record field "&F5$ : GOSUB '48(0,E$,0) : GOSUB '49(0) : GOSUB 3020 2610 IF E$(129)=" "THEN 3000 : E$="If record is found, turn sysflag "&E$(129) : IF E$(130)="Y"THEN E$=E$&" ON" : ELSE E$=E$&" OFF" : E$=E$&". If not, turn it" : IF E$(130)="Y"THEN E$=E$&" OFF" : ELSE E$=E$&" ON" : GOSUB '48(0,E$,0) : GOSUB '49(0) : GOSUB 3020 3000 IF E2(6)<>0THEN LOAD T#2,"IDS2PS30"1000, : IF C5$<>"S"OR STR(R3$(1),6,1)<>"S"THEN LOAD T#2,"IDS2PR36"1000, : LOAD T#2,"IDS2PS27"1000, 3020 IF C5$<>"S"OR STR(R3$(1),6,1)<>"S"THEN D6=D6+1 : ELSE F4=F4+1 : RETURN 3699 ON ERRORE1$,E2$GOTO 3700 3700 DEFFN'31 : E$="IDS2PS32" : IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000, : STOP "ERROR"