Документация по Clarion

POKE (записать в память по адресу)



POKE(сегмент:смещение,источник)


сегмент:смещение Числовая константа, переменная или выражение, задающее адрес памяти. СЕГМЕНТ должен быть в двух старших байтах, а СМЕЩЕНИЕ в двух младших. Если этот параметр типа REAL, то в промежуточное значение преобрзуется только его целая часть, чтобы получить 32-хбитное целое.
источник Метка переменной.

Оператор POKE записывает содержимое переменной ИСТОЧНИК в указанный дрес памяти. POKE пишет столько байт, сколько их в ИСТОЧНИКЕ.
Пример:
Segment USHORT
Offset USHORT
Destl BYTE
Dest2 SHORT
Dests REAL
KeyboardFlag BYTE
CODE
PEEK(Segment*(256.0*256.0)+Offset,Source1) !Пишем 1 байт
PEEK(BSHIFT(Segment,16)+Offset,Source2) !Пишем 2 байта
PEEK(BSHIFT(Segment,16)+Offset,Source2) !Пишем 8 байт
POKE(00400017h,KeyboardFlag) !читаем состояние клавиатуры
KeyboardFlag = BOR(KeyboardFlag,40h) ! включаем CAPS
POKE(00400017h,KeyboardFlag) !и перезаписываем состояние
См. также:



Содержание раздела