вторник, 20 декабря 2011 г.

Delphi, Кодировка и Буфер обмена (Clipboard)

Столкнулся с проблемой неправильной кодировки при переносе данных из приложений на Delphi.
Если переключить раскладку на РУС, то работа с буфером идёт корректно, иначе кракозябры.
По сети есть несколько решений:
  1. Использовать набор компонентов Unicode от TMS Software ("+" Быстро для старта / "-" Платные)
  2. Использовать модуль RusClipboard.pas
  3. Использовать процедуру правильно для правильного формирования сообщений буферу. SQL.RU ( "-" Ручное формирование буфера обмена)
 Я хочу предложить свой вариант, обобщающий всё выше + заметку из книги "Delphi глазами хакера" Ссылка ("Всё о работе с реестром")

Суть состоит в том, чтобы реализовать исправления в буфере динамически  для всех текстовых сообщений направляемых в буфер.