chapter9/CH9PRG1.LST:

1000 REM THIS ROUTINE CREATES AND ACCESSES RANDOM ACCESS FILES FOR FIXED
1001 REM LENGTH RECORDS
1002 REM 
1003 REM ... COMMANDS ARE
1004 REM CMD=1 WRITE   NTH RECORD
1005 REM CMD=2 READ    NTH RECORD
1006 REM CMD=3 UPDATE NTH RECORD
1007 REM 
1008 REM RECORD$ IS THE INPUT/OUTPUT RECORD
1009 REM N IS THE RECORD NUMBER
1010 REM INDEX IS A TWO DIMENSIONAL ARRAY DIM'ED INDEX(1,RECNUM)
1015 REM INDEX HOLDS THE NOTE VALUES FOR ALL RECORDS
1020 REM THIS ROUTINE ASSUMES LOGICAL FILE #1 HAS BEEN OPENED FOR I/O
1100 REM 
1120 REM ROUTINE BEGINS AT 1200
1130 REM 
1200 ON CMD GOTO 2000,3000,4000
2000 REM ............................
2100 REM WRITE NTH RECORD
2200 NOTE #1,X,Y
2300 INDEX(SEC,N)=X:INDEX(BYTE,N)=Y
2400 ? #1;RECORD$:RETURN 
3000 REM ............................
3010 REM READ NTH RECORD
3020 REM 
3030 X=INDEX(SEC,N):Y=INDEX(BYTE,N)
3040 POINT #1,X,Y
3050 INPUT #1;RECORD$
3060 RETURN 
4000 REM ............................
4010 REM UPDATE NTH RECORD
4020 REM 
4040 X=INDEX(SEC,N):Y=INDEX(BYTE,N)
4050 POINT #1,X,Y
4060 ? #1;RECORD$
4070 RETURN 

Back to previous page