Conteúdo

# Função Lof

Devolve o tamanho de um ficheiro aberto em bytes.

### Sintaxe:

    Lof (Número do Ficheiro) As Long

### Tipo de retorno:

Long

### Parâmetros:

Número do ficheiro: Qualquer expressão numérica que contenha o número do ficheiro especificado na instrução Open.

Para obter o comprimento de um ficheiro que não está aberto, utilize a função FileLen.

### Códigos de erro

5 Chamada de procedimento inválido

52 Erro no nome ou número do ficheiro

### Exemplo:

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Deve ser uma variante
          Dim aFile As String
          aFile = "C:\Users\ThisUser\data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 ' Posição no inicio
          Put #iNumber, , "Esta é a primeira linha de texto" ' Preencher a linha com texto
          Colocar #iNumber, , "Esta é a segunda linha de texto"
          Colocar #iNumber, , "Esta é a terceira linha de texto"
          Seek #iNumber,2
          Get #iNumber, , sText
          Print sText
          Close #iNumber
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Get #iNumber, 2, sText
          Imprimir #iNumber, , "Este é um novo texto"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Colocar #iNumber, 20, «Este é o texto do registo 20»
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Tem de ser um Variant
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Procurar #iNumber,1 ' Posição no início
          Put #iNumber, , "Esta é a primeira linha de texto" ' Preencher a linha com texto
          Colocar #iNumber, , "Esta é a segunda linha de texto"
          Colocar #iNumber, , "Esta é a terceira linha de texto"
          Seek #iNumber,2
          Get #iNumber, , sText
          Print sText
          Close #iNumber
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Get #iNumber, 2, sText
          Imprimir #iNumber, , "Este é um novo texto"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Colocar #iNumber, 20, «Este é o texto do registo 20»
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Tópicos relacionados

Declaração de encerramento

Declaração Print#

Declaração de abertura

Instrução Get

Necessitamos da sua ajuda!