понедельник, 2 июля 2012 г.

Кодировка заголовков Inmessage в Delphi6.

На прошлой недели, случилось мне дописать функции отправки почты из своего приложения.
Используя стандартную связку компонентов Indy 8, идущих в комплекте с Delphi 6, почта отправлялась коряво: Тема кодировалась в ISO-8859, а тело сообщения в WIN-1251, порывшись в инете выснилось, что в новой версии delphi вопрос решается использованием функции EncodeHeader в исправленной библиотеке IdCoderHeader, однако в Delphi 6 её нет.

Более разглагольствовать не буду, ниже исправленная библиотека для Delphi6 и пример использования Indy для рассылки sms сообщений через сервер smsmail.com, прежде чем использовать смс-шлюз надо зарегистрироваться и получить 5 бесплатных смс сообщений для тестирования.

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

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

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

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