Returns the size of an open file in bytes.
Lof (FileNumber) As Long
Long
FileNumber: Any numeric expression that contains the file number that is specified in the Open statement.
To obtain the length of a file that is not open, use the FileLen function.
5 Invalid procedure call
52 Invalid file name or file number
Sub ExampleRandomAccess Dim iNumber As Integer Dim sText As Variant ' Must be a variant Dim aFile As String aFile = "C:\Users\ThisUser\data.txt" iNumber = Freefile Open aFile For Random As #iNumber Len=32 Seek #iNumber,1 ' Position at beginning Put #iNumber, , "This is the first line of text" ' Fill line with text Put #iNumber, , "This is the second line of text" Put #iNumber, , "This is the third line of text" 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, , "This is a new text" Get #iNumber, 1, sText Get #iNumber, 2, sText Put #iNumber, 20, "This is the text in record 20" Print Lof(#iNumber) Close #iNumber End Sub
Sub ExampleRandomAccess Dim iNumber As Integer Dim sText As Variant ' Must be a variant Dim aFile As String aFile = "~/data.txt" iNumber = Freefile Open aFile For Random As #iNumber Len=32 Seek #iNumber,1 ' Position at beginning Put #iNumber, , "This is the first line of text" ' Fill line with text Put #iNumber, , "This is the second line of text" Put #iNumber, , "This is the third line of text" 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, , "This is a new text" Get #iNumber, 1, sText Get #iNumber, 2, sText Put #iNumber, 20, "This is the text in record 20" Print Lof(#iNumber) Close #iNumber End Sub