Contenido
Índice 🔎︎

# Input# Statement

Lee datos de un archivo secuencial abierto.

### Sintaxis:

    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

Temas relacionados

Close Statement

Open Statement

Instrucción Print#

Instrucción Write#