Modulo
Contenuto
Indice 🔎︎

# Istruzione Put

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

Vedere anche: Istruzione Get

## Sintassi:

    Put [#] FileNumber As Integer, [position], Variable

## Parametri:

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

Position (Posizione): 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 ' Il tipo deve essere Variant
    Dim aFile As String
        aFile = "c:\data.txt"
        iNumber = Freefile
        Open aFile For Random As #iNumber Len=32
        Seek #iNumber,1 ' Posizione di inizio della scrittura
        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