Indhold

# Erklæringen Put#

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

Brug erklæringen Print# til at skrive data til en sekventiel datafil. Brug erklæringen Write# til at skrive data til en sekventiel tekstfil med begrænsende tegn.

### Syntaks:

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

### Parametre:

fileNum: Ethvert heltalsudtryk, som definerer den fil, du vil skrive til.

recordNum, filePos: Ved relative filer (tilfældig tilgangsfiler) tallet på den post, du vil skrive til.

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

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

Note til relative filer: Hvis indholdet af denne variabel ikke svarer til længden af dataposten som er angivet i Len-delsætningen fra Open-udtrykket, 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 en variant
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 REM Position ved begyndelse
          Put #iNumber, , "Det er den første tekstlinje" ' Fyld linjen 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 en ny tekst"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Dette er teksten i post 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Må være en variant
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Søg #iNumber,1 ' Begyndelsesposition
          Put #iNumber, , "Dette er den første tekstlinje" ' Fyld linjen 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 en ny tekst"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "Dette er teksten i post 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Relaterede emner

udtrykket Close

Erklæringen Get

erklæringen Open