Contingut

# 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 Qualsevol expressió d'enter que defineixi el fitxer al qual voleu escriure.

gravenum filePosPer a fitxers relatius (arxius d'accés aleatori) el nombre de registres que voleu escriure.

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

Expressió

Ens cal la vostra ajuda!