Skip to content

POKE


Assigns a value to a location in memory.

Syntax

vb
declare sub Poke ( byval address as any ptr, byref value as ubyte )
declare sub Poke ( datatype, byval address as any ptr, byref value as datatype )

Usage

` Poke [ datatype, ] address, value

`

Parameters

datatype

The type of data at the specified address. If omitted, ubyte is assumed.

address

The location in memory to assign to.

value

The value to assign.

Description

Poke assigns a value to a location in memory. It is equivalent to

*cast(ubyte ptr, address) = value

or

*cast(datatype ptr, address) = value

When datatype is a user-defined type, Poke assigns value using the type's Operator Let.

Note: When using Poke, the -exx compiler option does not add code for null-pointer checking (no nullity test on the value of address).

Examples

start GeSHi

vb
Dim i As Integer, p As Integer Ptr
p = @i

Poke Integer, p, 420
Print Peek(Integer, p)

end GeSHi

Will produce the output:

420

Differences from QB

  • Only the byte form were supported in QB.
  • DEF SEG isn't needed anymore because the address space is 32-bit flat in FreeBASIC.

See also

  • Peek

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft