IBM Lotus Symphony
|
Lê dados a partir de um ficheiro sequencial aberto.
Input #FileNumber As Integer; var1[, var2[, var3[,...]]]
FileNumber: Número do ficheiro que contém os dados que pretende ler. O ficheiro tem de ser aberto com a instrução Open, utilizando a palavra-chave INPUT.
var: Uma variável numérica ou de cadeia à qual são atribuídos os valores lidos a partir do ficheiro aberto.
A instrução Input# lê valores numéricos ou cadeias a partir de um ficheiro aberto e atribui os dados a um ou mais variáveis. Uma variável numérica é lida até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10), espaço ou vírgula. As variáveis de cadeia são lidas até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10) ou vírgula.
Os dados e tipos de dados no ficheiro aberto têm de ser apresentados pela mesma ordem das variáveis passadas no parâmetro "var". Se atribuir valores não numéricos a uma variável numérica, "var" é atribuído a um valor de "0".
Os registos que são separados por vírgulas não podem ser atribuídos a uma variável de cadeia. As aspas (") no ficheiro são igualmente ignoradas. Se pretender ler estes caracteres a partir do ficheiro, utilize a instrução Line Input# para ler ficheiros de texto puro (ficheiros que contêm apenas caracteres imprimíveis), linha a linha.
Se o final do ficheiro for alcançado durante a leitura de um elemento de dados, ocorre um erro e o processo é interrompido.
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg as String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "This is a line of text"
Print #iNumber, "This is another line of text"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" then
sMsg = sMsg & sLine & chr(13)
end if
wend
Close #iNumber
Msgbox sMsg
End Sub