1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-01 13:50:36 +00:00
QB64-PE/internal/help/VARSEG_111111.txt
Roland Heyder aeb9c0668b Updates help files for use with new Wiki parser (2nd try)
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
2022-05-21 00:18:31 +02:00

29 lines
1.2 KiB
Plaintext

{{QBDLDATE:05-20-2022}}
{{QBDLTIME:23:17:19}}
The '''VARSEG''' function returns an [[INTEGER]] value that is the segment part of a variable or array memory address.
{{PageSyntax}}
:: [[DEF SEG]] = VARSEG(variable_name[(start_index)])
* If variablename is not defined before [[VARPTR]] or VARSEG is called, the variable is created and its address is returned.
* The start index is the lowest index of an array variable when used.
* When a string variable, VARSEG returns the segment location address of the first byte of the string.
* Because many QBasic statements change the locations of variables in memory, use the values returned by VARPTR and VARSEG immediately after the functions are used!
* Integer array sizes are limited to 32767 elements when using [[VARSEG]] in QB and '''QB64'''!. Create a larger array using [[_BYTE]]. Example: [[DIM]] [[SHARED]] Memory (65535) AS [[_UNSIGNED]] [[_BYTE]]
* '''Warning: DEF SEG, VARSEG , VARPTR, PEEK or POKE access QB64's emulated 16 bit conventional memory block!'''
: '''It is highly recommended that QB64's [[_MEM]] memory system be used to avoid running out of memory.'''
''See also:''
* [[BSAVE]], [[BLOAD]]
* [[SADD]], [[DEF SEG]]
* [[VARPTR]], [[VARPTR$]]
* [[POKE]], [[PEEK]]
{{PageNavigation}}