Istruzione Put#

Scrive un record in un file relativo o una sequenza di byte in un file binario.

tip

Usate l'istruzione Print# per scrivere i dati in un file sequenziale. Usate l'istruzione Write# per scrivere i dati in un file sequenziale con caratteri di delimitazione.


Sintassi:

Diagramma dell'istruzione Put


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

Parametri:

fileNum (NumeroFile): espressione numerica che definisce il file da usare per la scrittura.

recordNum, filePos: per i file relativi (file ad accesso casuale), indica il numero del record da scrivere.

Per i file binari (accesso binario), indica la posizione del byte da cui volete iniziare la scrittura.

variable (Variabile): nome della variabile da scrivere nel file.

Nota per i file relativi: se il contenuto di questa variabile non corrisponde alla lunghezza del record specificata nella clausola Len dell'istruzione Open, lo spazio tra la fine del record appena scritto e il record successivo viene riempito con i dati già presenti nel file designato per la scrittura.

Nota per i file binari: il contenuto delle variabili viene scritto nella posizione specificata e il puntatore del file viene inserito direttamente dopo l'ultimo byte. Non vengono lasciati spazi vuoti tra i record.

Esempio:

Esempio:


Sub ExampleRandomAccess
    Dim iNumber As Integer
    Dim sText As Variant ' Deve essere una variante
    Dim aFile As String
    aFile = "c:\data.txt"
    iNumber = Freefile
    Open aFile For Random As #iNumber Len=32
    Seek #iNumber,1 ' Posizione iniziale
    Put #iNumber,, "Questa è la prima riga di testo" ' Riempie la riga con testo
    Put #iNumber,, "Questa è la seconda riga di testo"
    Put #iNumber,, "Questa è la terza riga di testo"
    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,,"Questo è un nuovo testo"
    Get #iNumber,1,sText
    Get #iNumber,2,sText
    Put #iNumber,20,"Questo è il testo del record 20"
    Print Lof(#iNumber)
    Close #iNumber
End Sub

Sosteneteci!