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