Inhoud
Index 🔎︎

# Instructie Put#

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

Gebruik de instructie Print# om gegevens in een sequentieel tekstbestand toe te voegen. Gebruik de instructie Write# om gegevens met scheidingstekens in een sequentieel tekstbestand toe te voegen.

### Syntaxis:

    Put [#]fileNum, [recordNum|filePos], variable

### Parameters:

fileNum: Een getal dat aangeeft in welk bestand u wilt schrijven.

recordNum, filePos: Bij relatieve bestanden (random toegang), het recordnummer dat u wilt schrijven.

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

variabele: Naam van de variabele die u naar het bestand wilt schrijven.

Opmerking voor relationele bestanden: Als de inhoud van deze variabele niet overeenstemt met de lengte van een record zoals die gespecificeerd is in de variabele Len van de Open-instructie, 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 variant zijn
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Zoek #iGetal,1 REM Positie bij het begin
          Put #iGetal,, "Dit is de eerste tekstregel" ' Vul de regel met tekst
          Put #iGetal,, "Dit is de tweede tekstregel"
          Put #iGetal,, "Dit is de derde tekstregel"
          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

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Moet een variant zijn
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iGetal,1 ' Beginpositie voor het zoeken
          Put #iGetal, "Dit is de eerste tekstregel" 'Vul de regel met tekst
          Put #iGetal,, "Dit is de tweede tekstregel"
          Put #iGetal,, "Dit is de derde tekstregel"
          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

Verwante onderwerpen

Instructie Close

Instructie Get

Instructie Open