Получает значение произвольного типа по адресу в памяти
Синтаксис
Использование
Peek( [ datatype, ] address )
Параметры
address
Адрес в памяти, чтобы получить значение из него.
datatype
Тип значения, которое нажно получить. Если не указано, то
по умолчанию используется тип переданного указателя; или
UByte,
если адрес
Integer или
Any Ptr.
Описание
Эта процедура возвращает ссылку на значение в памяти и эквивалентна
*cast(ubyte ptr, address)
или
*cast(datatype ptr, address)
Пример
Dim i As Integer, p As Integer Ptr
p = @i
Poke Integer, p, 420
Print Peek(Integer, p)
Вывод:
420
Отличия от QB
- Peek не поддерживала параметр datatype
в QB, и могла возвращать только отдельный байт.
- Peek возвращает ссылку в FB, поэтому может быть
использована для получения содержимого адреса памяти, как с помощью
Оператора * (Значение из).
- DEF SEG больше не нужен, потому что адресное пространство является
32-разрядным в FreeBASIC.
См. также