Help Center›FreeBASIC
Peekfunction
Gets the value of an arbitrary type at an address in memory
Syntax
Declare Function Peek ( ByVal address As Any Ptr ) ByRef As UByte
Declare Function Peek ( datatype, ByVal address As Any Ptr ) ByRef As datatype
Parameters
| Name | Description | |
|---|---|---|
address | The address in memory to get the value from. | |
datatype | The type of value to get. If omitted, UByte is assumed. |
Description
This procedure returns a reference to the value in memory given by a memory address, and is equivalent to:
*cast(ubyte ptr, address)or
*cast(datatype ptr, address)Poke.Note: When using
Peek, the -exx compiler option does not add code for null-pointer checking (no nullity test on the value of address).Remarks
Usage
Peek( [ datatype, ] address )
Differences from QB
-
Peekdid not support thedatatypeparameter in QB, and could only return individual bytes.
-
Peekreturns a reference in FB, so can be used to set the memory contents of the address, like withOperator * (Value Of).
-
DEF SEGisn't needed anymore because the address space is 32-bit flat in FreeBASIC.
See also
Example
Dim i As Integer, p As Integer Ptr
p = @i
Poke Integer, p, 420
Print Peek(Integer, p)
will produce the output:
420
Reference
- Documented in KeyPgPeek.html