Poke
 
Присваивает значение в ячейку памяти.

Синтаксис

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 )

Использование

Poke( [ datatype, ] address, value )

Параметры

datatype
Тип данных по указанному адресу.
address
Адрес в памяти для присваивания.
value
Значение, которое присваивается.

Описание

Poke присваивает значение в ячейку памяти. Это эквивалентно

*cast(ubyte ptr, address) = value
or
*cast(datatype ptr, address) = value

Когда datatype является пользовательским типом, Poke присваивает value , используя Types Оператор Let.

Пример

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

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

Вывод:

420

Отличия от QB

  • Только форма байта поддерживалась в QB.
  • DEF SEG больше не нужен, потому что адресное пространство является 32-разрядным в FreeBASIC.

См. также