Modulo
Contenuto
Indice 🔎︎

# Istruzione Input#

Legge i dati da un file sequenziale aperto.

## Sintassi:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

## Parametri:

FileNumber (NumeroFile): numero del file contenente i dati che si desidera leggere. Il file deve essere aperto con l'istruzione Open usando la parola chiave INPUT.

var: variabile numerica o a stringa a cui vengono assegnati i valori letti dal file aperto.

L'istruzione Input# legge i valori numerici o le stringhe da un file aperto e assegna i dati a una o più variabili. Le variabili numeriche vengono lette fino al primo ritorno a capo (Asc=13), carattere di nuova riga (Asc=10), spazio o virgola. Le variabili stringa vengono lette fino al primo ritorno a capo (Asc=13), carattere di nuova riga (Asc=10) o virgola.

I dati e i tipi di dati contenuti nel file aperto devono comparire nello stesso ordine delle variabili passate con il parametro "var". Se assegnate un valore non numerico a una variabile numerica, all'elemento "var" viene assegnato il valore "0".

I record di dati separati da virgole non possono essere assegnati a una variabile stringa. Anche le virgolette (") nel file vengono ignorate. Se volete leggere questi caratteri dal file, utilizzate l'istruzione Line Input# per leggere semplici file di testo (file che contengono solo caratteri stampabili) riga per riga.

Se viene raggiunta la fine del file durante la lettura di un elemento di dati, si verifica un errore e il processo viene interrotto.

## Esempio:

    Sub ExampleWorkWithAFile
    Dim iCount As Integer
    Dim sName As String
    Dim sValue As Integer
    Dim sFileName As String

    sFileName = "c:\data.txt"
    iCount = Freefile

    ' Scrivi i dati (che verranno letti dopo con Input) nel file
    Open sFileName For Output As iCount
    sName = "Hamburg"
    sValue = 200
    Write #iCount, sName, sValue
    sName = "New York"
    sValue = 300
    Write #iCount, sName, sValue
    sName = "Miami"
    sValue = 459
    Write #iCount, sName, sValue
    Close #iCount

    iCount = Freefile
    ' Leggi i dati tramite Input
    Open sFileName For Input As iCount
    Input #iCount; sName, sValue
    MsgBox sName & " " & sValue
    Input #iCount; sName, sValue
    MsgBox sName & " " & sValue
    Input #iCount; sName, sValue
    MsgBox sName & " " & sValue
    Close #iCount
    End Sub