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