Показать сообщение отдельно
  #2  
Старый 10.03.2009, 17:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, в общем случае поменять можно следующим образом.
1. Накладываем маску по OR, где на месте заменяемого байта все единицы, а на месте других байтов - нули.
2. Накладываем маску по AND, где на месте заменяемого байта новые данные, а на всех остальных местах - единицы.

Как сформировать вторую маску.
1. Вычленяем нужный байт (отдельно, полученный тип - byte).
2. Берем тим DWORD и присваиваем ему наш байт.
3. Сдвигаем влево на нужное кол-во бит.
Ответить с цитированием