Indhold
Indholdsfortegnelse 🔎︎

# Put-udtryk

Skriver en datapost til en relativ fil eller en sekvens af bytes til en binær fil.

Se også sætningen:Get

## Syntaks:

    Put [#] FileNumber As Integer, [position], Variabel

## Parametre:

FileNumber: Ethvert heltalsudtryk der angiver filen som du vil skrive til.

Position: For relative filer (filer med vilkårlig adgang), nummeret på den datapost, som du vil skrive.

For binære filer (binær adgang) placeringen på den byte i filen hvor du vil begynde at skrive.

Variabel: Navnet på den variabel, som du vil skrive til filen.

Note til relative filer: Hvis indholdet af denne variabel ikke svarer til længden af dataposten som er angivet i klausulen Len i sætningen Open, vil afstanden mellem slutningen af den netop skrevne datapost og den næste datapost blive udfyldt med eksisterende data fra den fil, som du skriver til.

Note til binære filer: Indholdet af variablene bliver skrevet til den angivne position, og filens pointer bliver indsat direkte efter sidste byte. Der bliver intet mellemrum tilbage mellem dataposterne.

## Eksempel:

    Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant REM Skal være af typen Variant
    Dim aFile As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Seek #iNumber,1 REM Position hvor skrivning skal startes
        Put #iNumber,, "Dette er den første linje tekst" REM Fyld linje med tekst
        Put #iNumber,, "Dette er den anden tekstlinje"
        Put #iNumber,, "Dette er den tredje tekstlinje"
        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 #iNumber,,"Dette er ny tekst"
        Get #iNumber,1,sText
        Get #iNumber,2,sText
        Put #iNumber,20,"Dette er teksten i datapost 20"
        Print Lof(#iNumber)
        Close #iNumber
    End Sub