Показать сообщение отдельно
  #2  
Старый 24.06.2008, 10:31
k@Z@k k@Z@k вне форума
Новичок
 
Регистрация: 31.07.2007
Сообщения: 55
Репутация: 12
По умолчанию

1. IdPOP31.Retrieve(i, IdMessage1); получить i-тое письмо
IdPOP31.Delete(i); удалить i-тое письмо

2.Оценивай IdMessage1.CharSet если есть 'WINDOWS-1251' то переводи в UTF16
можно так:

Код:
function DecodeStr(Text, Code: string): string;
// Функция перекодировки из KOI8_R в UTF16, решает проблему с русской кодировкой
type
  TKOI8_RToUTF16Str = function(const s: string): WideString;
var
  DLLInstance: THandle;
  KOI8_RToUTF16Str: TKOI8_RToUTF16Str;
begin
// оценка кодировки
  if Pos('WINDOWS-1251', Code) <> 0 then
    result := Text
  else
    begin
// загружаем библиотеку
      DLLInstance := LoadLibrary(pChar(ExtractFileDir(Application.ExeName) +
        'KOI8_RToUTF16.dll'));
      @KOI8_RToUTF16Str := GetProcAddress(DLLInstance, 'KOI8_RToUTF16Str');
      result := Text;
      FreeLibrary(DLLInstance);
    end;
end;
Admin: Нарушение правил форума, пункт 2.8. Пятидневный бан.
+ библиотека, в исходнике прикреплена
Вложения
Тип файла: zip KOI8_RToUTF16.zip (2.0 Кбайт, 21 просмотров)
Ответить с цитированием