LOF: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''LOF''' function is used to find the length of an [[OPEN]] file in bytes, or content length of an HTTP response.
The '''LOF''' function is used to find the length of an [[OPEN]] file in bytes, or content length of an HTTP response.




Line 24: Line 23:
;Example:Finding the number of records in a RANDOM file using a [[TYPE]] variable.
;Example:Finding the number of records in a RANDOM file using a [[TYPE]] variable.
{{CodeStart}}
{{CodeStart}}
   {[Cl|OPEN}} file$ {[Cl|FOR}} {[Cl|RANDOM}} {[Cl|AS}} #1 {[Cl|LEN}} = {{Cl|LEN}}(Type_variable)
   {{Cl|OPEN}} file$ {{Cl|FOR}} {{Cl|RANDOM}} {{Cl|AS}} #1 {{Cl|LEN}} = {{Cl|LEN}}(Type_variable)
   NumRecords% = {{Cl|LOF}}(1) \ RecordLEN%
   NumRecords% = {{Cl|LOF}}(1) \ RecordLEN%
{{CodeEnd}}
{{CodeEnd}}


----
----
;Example:Reading the Content length of an HTTP response
;Example:Reading the Content length of an HTTP response
{{CodeStart}}
{{CodeStart}}

Latest revision as of 18:22, 30 January 2023

The LOF function is used to find the length of an OPEN file in bytes, or content length of an HTTP response.


Syntax

totalBytes& = LOF([#]fileNumber)
totalBytes& = LOF([#]httpHandle)


Description

  • For regular OPENed files:
    • LOF returns the number of bytes in an OPENed designated fileNumber. File is empty if it returns 0.
    • fileNumber is the number of the opened file. # is not required.
    • Often used to determine the number of records in a RANDOM access file.
    • Can also be used to avoid reading an empty file, which would create an error.
    • LOF in QB64 can return up to 9 GB (9,223,372,036 bytes) file sizes.
  • For HTTP handles opened using _OPENCLIENT:
    • LOF returns the length listed in the Content-Length header of the HTTP response.
    • If no Content-Length header was provided on the HTTP response, then LOF return -1


Examples

Example
Finding the number of records in a RANDOM file using a TYPE variable.
  OPEN file$ FOR RANDOM AS #1 LEN = LEN(Type_variable)
  NumRecords% = LOF(1) \ RecordLEN%

Example
Reading the Content length of an HTTP response
$UNSTABLE:HTTP
h& = _OPENCLIENT("HTTP:https://qb64phoenix.com")
PRINT LOF(h&)


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link