Put# Statement

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

tip

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


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:

Exemple:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Ha de ser una variant
    Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Posició al principi
    Put #iNumber,, "Aquesta és la primera línia de text" ' Ompliu la línia amb text
    Put #iNumber,, "Aquesta és la segona línia de text"
    Put #iNumber,, "Aquesta és la tercera línia de 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,,"Això és un text nou"
    Get #iNumber,1,sText
    Get #iNumber,2,sText
    Put #iNumber,20,"Aquest és el text del registre 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub