OPEN filename FOR RANDOM AS #handle LEN=n
Om een bestand in de random access mode te benaderen en te bewerken, moet deze met een OPEN statement geopend worden.
Wanneer het bestand niet meer gebruikt, en in elk geval voordat uw programma eindigt, dient u het met het CLOSE commando af te sluiten.
Zie ook : Filedialog, File Operations, Path and Filename , PUT, FIELD, GET, GETTRIM
Een Random Access File (RAF bestand) bestaat uit records.
Het gehele bestand is verdeeld in vele records.
Elk record heeft dezelfde lengte. De lengte wordt gespecificeerd wanneer het bestand wordt geopend met de LEN parameter.
Het onderstaande voorbeeld opent een bestand " members.dat" en zet de recordlengte op 256
OPEN "members.dat" FOR RANDOM AS #1 LEN=256
Lezen en schrijven in een bestand dat willekeurig toegankelijk is (RAF)
wordt stuk voor stuk per record gedaan. Het record mag zich echter overal in de file bevinden.
Een record wordt ingelezen door het statement GET of met GETTRIM.
Een record wordt naar het bestand geschreven met het PUT statement.
Deze statements worden hierna verder gedetailleerd behandeld.
OPEN "members.dat" FOR RANDOM AS #1 LEN=256
FIELD #1,_ ' set up the fields for file opened as #1
90 AS Name$,_ ' 1st 90 bytes contains Name$, string
110 AS Address$,_ ' 2nd 110 bytes contains Address$, string
50 AS Rank$,_ ' 3rd 50 bytes contains Rank$, string
6 AS IDnumber ' 4th 6 bytes contains IDnumber, numeric
De waarde achter "LEN=" is 256, en is verkregen door het optellen van 90 + 110 + 50 + 6
oftewel de totale lengte van alle velden in FIELD#. Het FIELD statement dient na het OPEN statement te staan
en het moet gebruikt worden voordat u probeert te lezen of te schrijven van of naar het bestand door middel van GET of PUT.
Dit statement wordt gebruikt om de gegevens die vervat zijn in de variabelen die in de
FIELD statement zijn genoemd naar een gespecificeerd record te schrijven.
De records in een RAF bestand zijn genummerd beginnend bij 1 en niet 0.
Als de lengte van een variabele in een gegeven veld korter is dan de veldlengte specificeert,
dan worden spaties toegevoegd om aan te vullen. Als de lengte van de data groter is dan de veldlengte,
dan wordt de data op de door FIELD gespecificeerde lengte afgekort.
Om data in record 3 van het hierboven vermelde bestand te plaatsen doen we het volgende:
Name$ = "John Q. Public"
Address$ = "456 Maple Street, Anytown, USA"
Rank$ = "Expert Programmer"
IDnumber = 99
PUT #1, 3
 
Dit statement leest een volledig record in en vult de variabelen die in het
FIELD statement zijn genoemd.
GET #1,3
Print Name$ would produce "John Q. Public "
Print Address$ would produce "456 Maple Street, Anytown, USA "
Print Rank$ would produce "Expert Programmer "
print IDnumber would produce "99"
enzovoort
GETTRIM #1,3
Print Name$ would produce "John Q. Public"
' no blank spaces are included