![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Ребята, пытаюсь прикрутить почтовые функции. Все работает и письма отсылает. Но с кодировкою - жесть-беда: Инглиш - норма, русский - знаки вопроса и все тебе тут. Весь форум излазил. Все перепробовал.
Дельфи 2009. Три сетевых обьекта на форме Msg (TIdMesage), Smtp(TIdSmtp), IdAntiFreeze1 (TIdAntiFreeze) (Кстати чем он занимается этот антифриз?) Код такой:
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Антифриз занимается тем, что не даёт приложению замирать во время работы Indy.
А с кодировкой - всё нормально. Просто ты её не устанавливаешь, зато говоришь почтовой программе, что у тебя вин-1251, хотя это не так. |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
А как ее установить то?. Я то думал:
msg.CharSet := 'windows-1251'; //Увы. Оказалось не то. -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Этой строкой ты только указываешь, какая у тебя Body.Text кодировка.
А там у тебя UTF-16. пропиши у IdSMTP .IOHandler.DefStringEncoding := TEncoding.нужная_кодировка; |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
УВы. Ошибка несовпадения типов.
[DCC Error] Unit1.pas(38): E2010 Incompatible types: 'TIdEncoding' and 'TEncoding' -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
||||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Нет, уважаемый Snowy в данном случае из этого следует кое что другое. Поскольку о существовании TIdEncoding' мой Дельфи вообще не подозревает... При попытке записать:
smtp.IOHandler.DefStringEncoding := TIdEncoding.та-та-та-та; Он реагирует на TIdEncoding как на нечто инопланетное. (подчеркивает красным) -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
А кто ж тогда пишет "Incompatible types: 'TIdEncoding'"? ![]() ...из чего следует, что надо запустить поиск текста "TIdEncoding =" в *.pas файлах папки Indy и добавить найденный модуль в uses. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Никак не найду модуль, ребята. Пожалуйста, если не трудно, подскажите конкретно, что подключить надо? 3й день вожусь, а тут еще жара. Заранее благодарен.
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Не могу сказать за Delphi 2009, но в Delphi 2010 свойство DefStringEncoding имеет тип TIdTextEncoding, который объявлен в IdGlobal.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Добавил модуль, записал, smtp.IOHandler.DefStringEncoding := TIdEncoding.enUTF8;
TIdEncoding.enUTF8 был нормально обнаружен. Запустил проект. При отправке ошибка и все тут. Это сообщение отредактировал(а) PsiMagistr - 30.7.2010, 15:45 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
CodeMonkey |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Вроде Showy говорил, что надо UTF-16, а не UTF-8?
Я не очень разбираюсь в Indy, но когда последний раз я туда нырял, оказалось, что там что-то сильно понаворотили в связи с переходом на Unicode. Возможно, нужно искать решение, а может это баг (и надо обновить Indy), а ещё можно использовать другую библиотеку - к примеру, Synapse. Добавлено через 1 минуту и 58 секунд Для Synapse ссылочки: http://www.webdelphi.ru/2010/02/synapse-ot...ispolzuya-smtp/ http://www.webdelphi.ru/2010/03/synapse-v-...s-vlozheniyami/ http://www.webdelphi.ru/2010/07/otpravka-p...vaniem-synapse/ http://www.webdelphi.ru/2010/07/gmail-syna...-pisem-reshena/ -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
PsiMagistr |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: 1 Всего: 1 |
Спасибо Вам большое CodeMonkey. Честно говоря, не знаю что и думать, хотя проблемы с Инди предвидел, там багов целый воз.
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: нет Всего: 6 |
Всем привет...
А вот в delphi XE8 ну никак не могу прикрутить TIdEncoding.enUTF8 Не могу анйти где он обьявлен.. Помогите найти uses... Это сообщение отредактировал(а) ZBugz - 9.5.2015, 07:43 |
|||
|
||||
ZBugz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 636 Регистрация: 15.2.2006 Где: Москва Репутация: нет Всего: 6 |
Что ? Никто не знает ?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |