LOF: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
(Add information on HTTP handles)
No edit summary
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 19: Line 19:
** [[LOF]] returns the length listed in the Content-Length header of the HTTP response.
** [[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
** If no Content-Length header was provided on the HTTP response, then [[LOF]] return -1


{{PageExamples}}
{{PageExamples}}
''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}}
   OPEN file$ FOR RANDOM AS #1 LEN = {{Cl|LEN}}(Type_variable)
   OPEN file$ FOR RANDOM AS #1 LEN = {{Cl|LEN}}(Type_variable)
Line 28: Line 28:
{{CodeEnd}}
{{CodeEnd}}


''Example:'' Reading the Content length of an HTTP response
----
;Example:Reading the Content length of an HTTP response
{{CodeStart}}
{{CodeStart}}
{{Cl|$UNSTABLE}}:Http
{{Cl|$UNSTABLE}}:HTTP
h& = {{Cl|_OPENCLIENT}}("HTTP:https://qb64phoenix.com")
h& = {{Cl|_OPENCLIENT}}("HTTP:<nowiki>https://qb64phoenix.com</nowiki>")
{{Cl|PRINT}} {{Cl|LOF}}(h&)
{{Cl|PRINT}} {{Cl|LOF}}(h&)
{{CodeEnd}}
{{CodeEnd}}


{{PageSeeAlso}}
{{PageSeeAlso}}

Revision as of 22:53, 6 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