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

Sosteneteci!