[Info-vax] Example of random access by record number on an RMS fixed record size, relative organization file?

Arne Vajhøj arne at vajhoej.dk
Thu Sep 21 20:33:19 EDT 2023


On 9/19/2023 8:44 PM, Arne Vajhøj wrote:
> On 9/16/2023 4:16 PM, Arne Vajhøj wrote:
>> I don't think I have ever used ORG=REL.
> 
> But then I could start now!

Basic (I know some Basic ode has already been posted):

$ type relwrt.bas
program relwrt

declare integer i
map (myrec) string buf = 512

open "rel.dat" for output as file #1, organization relative variable, 
recordsize 512, map myrec
for i = 1 to 100
     buf = format$(i, "This is line _#####_!")
     put #1, record i
next i
close #1

end program
$ bas relwrt
$ link relwrt
$ run relwrt
$ type relrdseq.bas
program relrdseq

map (myrec) string buf = 512

open "rel.dat" for input as file #1, organization relative variable, 
recordsize 512, map myrec
handler eof_handler
end handler
when error use eof_handler
     while 1 = 1
         get #1
         print "|" + trm$(buf) + "|"
     next
end when
close #1

end program
$ bas relrdseq
$ link relrdseq
$ run relrdseq
|This is line #   1!|
|This is line #   2!|
...
|This is line # 100!|
$ type relrddir.bas
program relrddir

declare integer i
map (myrec) string buf = 512

open "rel.dat" for input as file #1, organization relative variable, 
recordsize 512, map myrec
for i = 1 to 100
     get #1, record i
     print "|" + trm$(buf) + "|"
next i
close #1

end program
$ bas relrddir
$ link relrddir
$ run relrddir
|This is line #   1!|
|This is line #   2!|
...
|This is line # 100!|

Arne





More information about the Info-vax mailing list