Conteúdo

# Input# Statement

Lê dados de um ficheiro sequencial aberto.

### Sintaxe:

    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: A numeric or string variable that you assign the values read from the opened file to.

A instrução Input# lê valores numéricos ou cadeias de um ficheiro aberto e atribui os dados a uma ou mais variáveis. Uma variável numérica lê-se até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10), espaço ou vírgula. As variáveis de cadeia lêem-se até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10) ou vírgula.

Os dados e os tipos de dados no ficheiro aberto têm de aparecer na mesma ordem das variáveis transferidas no parâmetro "var". Se atribuir valores não numéricos a uma variável numérica, "var" recebe um valor de "0".

Os registos separados por vírgulas não podem ser atribuídos a uma variável de cadeia. As aspas (") no ficheiro também são ignoradas. Se quiser ler estes caracteres no ficheiro, utilize a instrução Line Input# para ler ficheiros de texto puro (ficheiros que só contêm caracteres imprimíveis) linha a linha.

Se atingir o fim do ficheiro quando estiver a ler um elemento de dados, ocorrerá um erro e o processo será cancelado.

### Exemplo:

    Sub ExampleWorkWithAFile
        Dim iCount As Integer, sFileName As String
        Dim sName As String, sValue As Integer
        sFileName = "C:\Users\ThisUser\data.txt"
        iCount = Freefile
        ' Escrever dados (que iremos utilizar mais tarde para Input ) no ficheiro
        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
        ' Ler dados utilizando 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

Tópicos relacionados

Close Statement

Open Statement

Print# Statement

Write# Statement