Conteúdo
Índice 🔎︎

# Função Lof

Retorna o tamanho de um arquivo aberto em bytes.

### Sintaxe:

    Lof (FileNumber) As Long

### Valor de retorno:

Long

### Parâmetros:

FileNumber: qualquer expressão numérica que contenha o número do arquivo especificado na instrução Open.

Para obter o tamanho de um arquivo que não esteja aberto, use a função FileLen.

### Códigos de erro:

5 Chamada de procedimento inválida

52 Nome ou número de arquivo incorreto

### 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 início
          Put #iNumber, , "Esta é a primeira linha de texto" ' Preenche a linha com texto
          Put #iNumber, , "Esta é a segunda linha de texto"
          Put #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
          Put #iNumber, ,"Este é um novo texto"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20,"Este é o texto no registro 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

      Sub ExampleRandomAccess
          Dim iNumber As Integer
          Dim sText As Variant ' Deve ser um variant
          Dim aFile As String
          aFile = "~/data.txt"
          iNumber = Freefile
          Open aFile For Random As #iNumber Len=32
          Seek #iNumber,1 ' Posição no início
          Put #iNumber, , "Esta é a primeira linha de texto" ' Preenche a linha com texto
          Put #iNumber, , "Esta é a segunda linha de texto"
          Put #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
          Put #iNumber, ,"Este é um novo texto"
          Get #iNumber, 1, sText
          Get #iNumber, 2, sText
          Put #iNumber, 20,"Este é o texto no registro 20"
          Print Lof(#iNumber)
          Close #iNumber
      End Sub

Tópicos relacionados

Instrução Close

Instrução Print#

Instrução Open

Instrução Get