[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