Contenuto
Indice 🔎︎

# Istruzione Put#

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

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:

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

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

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Deve essere una variante
          Dim aFile As String
          aFile = "C:\Users\ThisUser\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

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Deve essere una variante
          Dim aFile As String
          aFile = "~/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

Argomenti correlati

Istruzione Close

Istruzione Get

Istruzione Open