Modul
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