Contingut
Índex 🔎︎

# Put# Statement

Escriu un registre d'un fitxer relatiu o d'una seqüència de bytes en un fitxer binari.

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.

### Sintaxi:

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

### Paràmetres :

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.

Per als fitxers binaris (accés binari), la posició del byte al fitxer on voleu començar a escriure.

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

Nota per a fitxers relatius: Si el contingut d'esta variable no coincideix amb la longitud del registre que s'especifica a la clàusula Len de l'expressió Open, l'espai entre el final del registre que s'acaba d'escriure i el registre següent s'omple amb dades existents del fitxer al qual escriviu.

Nota per als fitxers binaris: El contingut de les variables s'escriu en la posició especificada, i la busca del fitxer s'insereix directament després de l'últim byte. No es deixa cap espai entre els registres.

### Exemple :

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Ha de ser una variant
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 ' Posició al principi
          Put #iNumber, , "This is the first line of text" ' Fill line with text
          Put #iNumber, , "This is the second line of text"
          Put #iNumber, , "This is the third line of text"
          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, , "This is a new text"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "This is the text in record 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Must be a variant
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 ' Position at beginning
          Put #iNumber, , "This is the first line of text" ' Fill line with text
          Put #iNumber, , "This is the second line of text"
          Put #iNumber, , "This is the third line of text"
          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, , "This is a new text"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20, "This is the text in record 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Temes relacionats

Close Statement

Get Statement

Open Statement