Input# Statement

Lee datos de un archivo secuencial abierto.

Sintaxis:

Input Statement diagram


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

Parámetros:

fileNum: Number of the file that contains the data that you want to read. The file must be opened with the Open statement using the key word INPUT.

var: una variable numérica o de cadena a la que se asignan los valores leídos desde el archivo abierto.

La instrucción Input# lee valores numéricos o cadenas de un archivo abierto y asigna los datos a una o más variables. Una variable numérica se lee hasta el primer retorno de carro (Asc=13), avance de línea (Asc=10), espacio o coma. Las variables de cadena se leen hasta el primer retorno de carro (Asc=13), avance de línea (Asc=10) o coma.

Los datos y los tipos de datos del archivo abierto deben aparecer en el mismo orden que las variables que se pasan en el parámetro "var". Si asigna valores no numéricos a una variable numérica, se asigna a "var" un valor igual a "0".

Los registros separados por comas no pueden asignarse a una variable de cadena. Las comillas (") del archivo también se descartan. Si se desea leer estos caracteres del archivo, use la instrucción Line Input# para leer archivos de texto puros (archivos que contienen sólo caracteres imprimibles) línea a línea.

Si se llega al final del archivo mientras se lee un elemento de datos, se produce un error y el proceso se interrumpe.

Ejemplo:


Sub ExampleWorkWithAFile
    Dim iCount As Integer, sFileName As String
    Dim sName As String, sValue As Integer
    sFileName = "C:\Users\ThisUser\data.txt"
    iCount = Freefile
    ' Escribir datos (que leeremos posteriormente con Input) en el archivo
    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
    ' Leer archivo de datos mediante 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

¡Necesitamos su ayuda!