Expressió Input#
Llig les dades d'un fitxer seqüencial obert.
Sintaxi:
Input #FileNumber As Integer; var1[, var2[, var3[,...]]]
Paràmetres:
FileNumber: Número del fitxer que conté les dades que voleu llegir. El fitxer s'ha d'obrir amb l'expressió Open mitjançant la paraula clau INPUT.
var: Una variable o cadena numèrica a la qual assignareu els valors llegits del fitxer obert.
L'expressió Input# llig valors numèrics o cadenes d'un fitxer obert i assigna les dades a una o més. Una variable numèrica es llig fins al primer salt de carro (Asc=13), salt de línia (Asc=10), espai o coma. Les variables de cadena es lligen fins al primer salt de carro (Asc=13), salt de línia (Asc=10) o coma.
Les dades i el tipus de dades del fitxer obert han d'aparèixer en el mateix orde que les variables que es passen al paràmetre "var". Si assigneu valors no numèrics a una variable numèrica, s'assigna un valor de "0" a "var".
Els registres que estan separats per comes no es poden assignar a una variable de cadena. Les cometes (") del fitxer també s'ometen. Si voleu llegir estos caràcters des del fitxer, utilitzeu l'expressió Line Input# per llegir fitxers de text pur (fitxers que contenen només caràcters imprimibles) línia a línia.
Si s'arriba al final del fitxer mentre es llig un element de dades, es produeix un error i s'avorta el procés.
Exemple:
Sub ExampleWorkWithAFile
Dim iCount As Integer
Dim sName As String
Dim sValue As Integer
Dim sFileName As String
sFileName = "c:\data.txt"
iCount = Freefile
' Escriu dades (que després es llegiran amb Input) en un fitxer
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
' Llig un fitxer de dades mitjançant 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