Contenuto
Indice 🔎︎

# Istruzione Input#

Legge i dati da un file sequenziale aperto.

### Sintassi:

    Input #fileNum {,|;} var1 [, var2 [, ...]]

### Parametri:

fileNum: 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, sFileName As String
        Dim sName As String, sValue As Integer
        sFileName = "C:\Users\ThisUser\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
        ' Leggi i dati tramite Input
        iCount = Freefile
        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

Argomenti correlati

Istruzione Close

Istruzione Open

Istruzione Print#

Istruzione Write#