Input# Statement

Llegeix les dades d'un fitxer seqüencial obert.

Sintaxi:

Input Statement diagram


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

Paràmetres:

GA fileNum Nombre del fitxer que conté les dades que voleu llegir. El fitxer s'ha d'obrir amb l'expressió Open utilitzant la paraula clau INPUT.

var: una variable numèrica o de cadena a la qual s'assignen els valors llegits des del fitxer obert.

L'expressió Input# llegeix valors numèrics o cadenes d'un fitxer obert i assigna les dades a una o més. Una variable numèrica es llegeix fins al primer salt de carro (Asc=13), salt de línia (Asc=10), espai o coma. Les variables de cadena es llegeixen 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 ordre 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 aquests 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 llegeix un element de dades, es produeix un error i s'avorta el procés.

Exemple:


Sub ExampleWorkWithAFile
    Dim iCount As Integer, sFileName As String
    Dim sName As String, sValue As Integer
    sFileName = "C:\Users\ThisUser\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
    ' Llegeix un fitxer de dades mitjançant 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

Ens cal la vostra ajuda!