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 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 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