[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