Put# Statement

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

tip

Use Print# statement to print data to a sequential text file. Use Write# statement to write data to a sequential text file with delimiting characters.


Syntaxis:

Put Statement diagram


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

Parameters:

fileNum: Any integer expression that defines the file that you want to write to.

recordNum, filePos: For relative files (random access files), the number of the record that you want to write.

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

variable: Name of the variable that you want to write to the file.

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:

Voorbeeld:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sTekst As Variant ' Moet een variant zijn
    Dim aFile As String
    aFile = "c:\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 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

Help ons, alstublieft!