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. Пятидневный бан.
+ библиотека, в исходнике прикреплена