![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый день уважаемые господа програмисты! И вновь требуется Ваша помощь (как обычно в нашем теперешнем мире). Есть программа которая читает почту. Этакий почтовый клиент. Однако при отображении текста в memo, например, текст выглядит как "Алекс-Юстасу", сплошная шифрограмма. Вопрос : как быть?
зарание спасибо! Код:
|
#2
|
||||
|
||||
![]() Текст в разных кодировках может передаваться (UTF-8, KOI-8, ISO...), нужно просто перекодировать.
И да, кто так код форматирует? Это ж пипетс. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
![]() в смысле кто так код форматирует?
- Я так форматирую, а что не так? То,что нужно перекодировать - я думаю понятно было и мне (иначе зачем бы я стал бы об этом спрашивать), Вы бы подсказали или показали как это делать |
#4
|
||||
|
||||
![]() В пакете инди есть набор перекодировщиков, поиск по файлам сделай по слову KOI.
А про форматирование - этот код жеж на экран не влезает, обычно так форматируется он: Код:
З.Ы. В вопросе было "как быть?" а "покажите, как перекодировать". — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() Уважаемый M.A.D.M.A.N. !
Действительно не правильно спросил! Спрашиваю правильно : покажите как перекодировать текст. |
#6
|
||||
|
||||
![]() Не, ну конечно вам виднее, как оформлять. Просто несколько широковато выходит. Я например конструкцию if then else оформляю немножко покомпактнее, но кому-то тоже так не нравится. Вот скажем ваш код с моим вариантом форматирования:
Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() да, действительно, так - значительно приятнее. Но мне бы всё-же хотелось узнать как перекодировать текст который я получаю с почты. ?
|
#8
|
|||
|
|||
![]() вот я получаю текст письма
Код:
и вот именно в этом самом str и обнаруживается что то вроди ?koi-8?... или что -то в этом роде. Во первых что это такое (ладно этоя знаю, это другая кодировка), но при помощи какой функции текст можно сделать читабельным? В моём почтовом клиенте, клиент, после настроек программы (адрес почты, пароль), должен увидеть сколько писем в ящике и какие темы у этих писем, мне нужно что бы надписи отображались корректно. |
#9
|
|||||
|
|||||
![]() Цитата:
Боролся как-то с этим. Для начала проверь у TIdMessage свойство автоматической декодировки (не помню как называется, мне не сильно помогло, так что забил). Что-то, может и автоматом декодирует. Потом просто сделал себе функцию (меня интересовал только utf-8, но можно туда добавить кодировок) (Тапками за код не кидать, писалось давно, недавно только чуть-чуть правилось. Если есть желающие прикрутить различные кодировки, код отдается под GPL ![]() Код:
ЗЫ. Да, Indy у меня не родная Дельфевая, а более новая, скаченная с сайта индей... |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
RobinStone (08.07.2013)
|
#10
|
||||
|
||||
![]() Вроде в классе TIdMessage есть какие-то ф-ии для перекодирования. Говорю же, поищи по *.pas файлам в инди, там есть, я когда свой велосипед почтовый делал, натыкался на те функции.
"C:\Program Files\Embarcadero\RAD Studio\10.0\source\xml\Xml.Internal.EncodingUtils. pas" "C:\Program Files\Borland\Delphi7\Source\XML\xdom.pas" function KOI8_RToUTF16Char(const P: Char):WideChar; Короче найдешь, если есть терпение. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 08.07.2013 в 08:06. |
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
RobinStone (08.07.2013)
|