Conteúdo
Índice 🔎︎

# Função Eof

Determina se o ponteiro do ficheiro chegou ao fim de um ficheiro.

### Sintaxe:

    Eof (intexpression As Integer)

### Valor de retorno:

Bool

### Parâmetros:

ExpressãoInt: qualquer expressão de números inteiros que calcule o número de um ficheiro aberto.

Utilize EOF para evitar erros ao tentar introduzir dados depois do fim de um ficheiro. Se utilizar as instruções Input ou Get para ler um ficheiro, o ponteiro do ficheiro avança de acordo com o número de bytes lidos. Quando se atinge o fim de um ficheiro, a EOF devolve o valor "True" (-1).

### Códigos de erro

5 Chamada de procedimento inválido

52 Erro no nome ou número do ficheiro

### Exemplo:

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Output As #iNumber
          Print #iNumber, "Esta é uma linha do texto"
          Print #iNumber, "Esta é outra linha de texto"
          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

      Sub ExampleWorkWithAFile
          Dim iNumber As Integer
          Dim sLine As String
          Dim aFile As String
          Dim sMsg As String
          aFile = "~/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

Tópicos relacionados

Close Statement

Print# Statement

Input# Statement

Open Statement