Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.06.2008, 20:52
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию Кривое письмо

Использую компоненты indy idPop3 и idMessage, для получения письма. Получаю, но там карякули. Что-то видать с кодировкой, что делать?
И еще вопрос: можно как-то получить все письма не удаляя их с сервера? А то для получения следующего, нужно удалить предыдущее.
Ответить с цитированием
  #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 просмотров)

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

еще исполдьзуй Indy 10, а то в 9 есть проблемы с использованием русских шрифтов
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:06.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025