Istruzione Input#

Legge i dati da un file sequenziale aperto.

Sintassi:

diagramma dell'istruzione Input


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

Sosteneteci!