Instructie Put

Inhoud
Index 🔎︎

# Put-instructie

Schrijft een record naar een relationeel bestand of een reeks van bytes naar een binair bestand.

Zie ook: Get-instructie

## Syntaxis:

    Put [#] Bestandsnummer Als Geheel getal, [position], Variabele

## Parameters:

Bestandsnummer: Elke integer die het bestand definieert waarnaar moet worden geschreven.

Positie: Voor relationele bestanden (Random-toegang bestanden) het nummer van de record die moet worden geschreven.

Voor binaire bestanden (Binary-toegang) de bytepositie in het bestand waarop moet worden begonnen met schrijven.

Variabele: Naam van de variabele die naar het bestand moet worden geschreven.

Opmerking voor relationele bestanden: Als de inhoud van deze variabele niet overeenstemt met de lengte van een record zoals die gespecificeerd is in de Len-variable van de Open-insstructie, wordt de ruimte vanaf het einde van de nieuw geschreven gegevens tot de volgende record gevuld met de bestaande gegevens in het bestand.

Attentie voor binaire bestanden: De inhoud van de variabelen wordt geschreven naar de gespecificeerde positie en de bestandaanwijzer wordt direct na de laatste byte ingesteld, zonder enige ruimte tussen de records.

## Voorbeeld:

    Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sTekst As Variant ' Moet een type variant zijn
    Dim aFile As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Seek #iNumber,1 ' Positie waar begonnen wordt met schrijven
        Put #iGetal,, "Dit is de eerste regel tekst" ' Vult regel met tekst
        Put #iGetal,, "Dit is de tweede regel tekst"
        Put #iGetal,, "Dit is de derde regel tekst"
        Seek #iNumber,2
        Get #iNumber,,sText
        Print sText
        Close #iNumber
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Get #iNumber,2,sText
        Put #iGetal,,"Dit is een nieuwe tekst"
        Get #iNumber,1,sText
        Get #iNumber,2,sText
        Put #iGetal,20,"Dit is de tekst in record 20"
        Print Lof(#iNumber)
        Close #iNumber
    End Sub