Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
ВнизINDY attach Найти похожие ветки
← →
zdm © (2006-11-22 11:40) [0]Дайте пожалуйста пример прикрепления файла к письму.
← →
zdm © (2006-11-22 11:56) [1]ведь не сложно же, просто встрял и не могу растормозиться, ну помогите же!!!! есть IdSMTP,IdMessage -просто письмо отрправляется без проблем, а для присоединения файла нужен constructor, в инете все ссылки на одну и ту же статью, не могу самостоятельно разобраться, может есть у кого готовый unit , приведите пример, пожалуйста!
← →
zdm © (2006-11-22 12:51) [2]АУ
← →
Орион © (2006-11-22 13:19) [3]в ответ эхо: "у... у..."
← →
easy © (2006-11-22 13:19) [4]*:\Program Files\Borland\Delphi\Demos\Indy\MailClient\MailDemo.dpr
← →
Megabyte © (2006-11-22 14:29) [5]msg : TIdMessage;
file : TIdMessagePart;
file := TIdAttachment.Create(msg.MessageParts, путь до attachfile);
← →
zdm © (2006-11-22 14:34) [6]блин, диска нету, а демки не ставил, скиньте текст юнита
← →
zdm © (2006-11-22 14:39) [7]
> Megabyte © (22.11.06 14:29) [5]
Так и делал. Я правильно понял?
procedure TForm_Osn.Button1Click(Sender: TObject);
var
msg : TIdMessage;
file_for_attach : TIdMessagePart;
begin
IdSMTP1.Connect;
file_for_attach := TIdAttachment.Create(msg.MessageParts, "c:\1\1.zip");
выдает ошибку что кол-во пар-ров превышено, т.е. "c:\1\1.zip" лишний... Я туплю и понимаю это ну помогите разобраться.
← →
Anatoly Podgoretsky © (2006-11-22 14:50) [8]> zdm (22.11.2006 14:39:07) [7]
F1 + TIdAttachment.Create
← →
zdm © (2006-11-22 14:57) [9]Хорошо, мне стыдно, но не занимался я ни когда constractor-ами, пожалуйста, распишите где, что и в каких секцияц надо прописать.
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ""); reintroduce;
← →
Anatoly Podgoretsky © (2006-11-22 15:02) [10]> zdm (22.11.2006 14:57:09) [9]
Сначала справка, потом что непонятно в ней, потом что не выходит в коде.
Это как я понимают из справки по конструктору
Тогда первый параметр существующая коллекция, второй имя файла
← →
zdm © (2006-11-22 15:08) [11]
> Anatoly Podgoretsky ©
Ты всё как всегда правильно понимаешь. Нету сейчас под рукой книги, ведь задачка то элементарная, кинуть пару компонент-присоеденить файл-и кинуть сюда текст юнита, чего разглагольствовать то? Ну туплю, а надо решить задачку побыстрей.
← →
Anatoly Podgoretsky © (2006-11-22 15:19) [12]> zdm (22.11.2006 15:08:11) [11]
Ну правильно говоришь, задача элементарная, тебе даже код привели.
А вот в чем тупишь, вот это и надо объяснять, да так что бы другим было понятно.
← →
zdm © (2006-11-22 15:24) [13]
> Anatoly Podgoretsky © (22.11.06 15:19) [12]
Что и в каких секциях прописать!!!
← →
zdm © (2006-11-22 15:27) [14]ну не создавал я кострукторов!!!!
← →
Anatoly Podgoretsky © (2006-11-22 15:28) [15]> zdm (22.11.2006 15:24:13) [13]
О каких секциях идет речь.
Кроме того я сумел забыть почти все что знал про Инди где то за неделю.
Я его не использую ни в каком виде, альтернатив хватает.
← →
zdm © (2006-11-22 15:30) [16]
> Anatoly Podgoretsky © (22.11.06 15:28) [15]
Какие?
← →
Anatoly Podgoretsky © (2006-11-22 15:30) [17]> zdm (22.11.2006 15:27:14) [14]
А их и не надо создавать, все уже создано до нас. Просто используй существующее.
← →
Anatoly Podgoretsky © (2006-11-22 15:33) [18]> zdm (22.11.2006 15:30:16) [16]
Сходи на торри, там этого добра уйма, от гигантских наборов, до узкоспециализированых, только отсылка почти и больше ничего. Можно посмотреть в сторону Синапс, тоже что и Инди, только не монстр.
← →
zdm © (2006-11-22 15:33) [19]
> Anatoly Podgoretsky © (22.11.06 15:30) [17]
Какие?!?!?!? Анатолий, ну ответь хоть раз конкертно!
← →
zdm © (2006-11-22 15:34) [20]ок, у меня форум подтормаживает всегда, поэтому не одекватные ответы могут показаться, сейчас поищу
← →
zdm © (2006-11-22 15:37) [21]
> > Anatoly Podgoretsky ©
если не трудно, кинь ссылки.
← →
Anatoly Podgoretsky © (2006-11-22 15:44) [22]> zdm (22.11.2006 15:33:19) [19]
Хорошо, конкретно - я использую ICS
← →
Megabyte © (2006-11-22 15:44) [23]
> zdm © (22.11.06 14:57) [9]
Хорошо, мне стыдно, но не занимался я ни когда constractor-ами, пожалуйста, распишите где, что и в каких секцияц надо прописать.
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ""); reintroduce;
Какие еще конструкторы, кроме стандартного? Не гони.
msg : TIdMessage;
file : TIdMessagePart;
msg := TIdMessage.Create(nil); Не забыл?
file := TIdAttachment.Create(msg.MessageParts, путь до attachfile);
← →
Anatoly Podgoretsky © (2006-11-22 15:44) [24]> zdm (22.11.2006 15:37:21) [21]
Сколько раз говорил, ссылки не храню, зачем? Есть же поисковые системы.
← →
zdm © (2006-11-22 15:49) [25]
> Anatoly Podgoretsky © (22.11.06 15:44) [22]
ок, посмотрю
> Megabyte © (22.11.06 15:44) [23]
Не ругайся только, ну не получается, кинь пожалуйста целиком текст юнита. Спасибо
← →
Anatoly Podgoretsky © (2006-11-22 15:57) [26]> Megabyte (22.11.2006 15:44:23) [23]
Этот код уже приводили.
← →
Megabyte © (2006-11-22 16:05) [27]
> Не ругайся только, ну не получается, кинь пожалуйста целиком текст юнита. Спасибо
Да нечего больеше приводить. Остальное к твоей задаче вообще не относится...
> Anatoly Podgoretsky © (22.11.06 15:57) [26]
> Megabyte (22.11.2006 15:44:23) [23]
Этот код уже приводили
Прочитал, не увидел...
Просто это единственное, что имхо можно было забыть, чтобы компилятор ругнулся... Все остальные проблемы уже не в приаттачивании файла.
Ну и конечно, в конце надо разрушить file, но на это компилятор не ругнется.
← →
zdm © (2006-11-22 16:13) [28]
> Megabyte © (22.11.06 16:05) [27]
Брат, я писал, что не создавал конструкторов, ну если тебе не трудно, создай быстренько приложение с прекрепленным файлом, и брось сюда текст, пожалуйста, буду очень благодарен.
← →
Virgo_Style © (2006-11-22 16:17) [29]а при чем тут создание конструкторов
← →
Андрей Сенченко © (2006-11-22 16:18) [30]zdm © (22.11.06 16:13) [28]
да не нужно тебе создавать никаких конструкторов. Тебе нужно создать переменную объявленного тобой класса
← →
Андрей Сенченко © (2006-11-22 16:22) [31]На вот. В местной кладовке нарыто. Давно бы уже сам нашел.
procedure SendMail;
var
LSMTP: TIdSMTP;
LMsg: TIdMessage;
begin
LSMTP := TIdSMTP.Create(nil);
LMsg := TIdMessage.Create(LSMTP);
with LMsg do
begin
CharSet := "rus-ascii";
From.Name := spMailName;
From.Address := spMailAddr;
Recipients.EMailAddresses := spToMail;
Subject := spToSubj;
Body.Text := spToBody;
if length(spToAttc) > 0
then TIdAttachment.Create(LMsg.MessageParts, spToAttc);
end;
with LSMTP do
begin
AuthenticationType:=atLogin;
Port := spMailPort;
Host := spMailHost;
UserId := spUserId;
if length(spMailPass) > 0
then Password := spMailPass;
try
Connect;
Send(LMsg);
// ShowMessage("письмо отправлено");
except
on e:exception do
begin
showmessage (Trim(e.message));
end;
end;
Disconnect;
end;
FreeAndNil(LMsg);
FreeAndNil(LSMTP);
end;
← →
zdm © (2006-11-22 16:24) [32]я понимаю, что туплю в какой то мелочи , но не могу её вычеслить вот код, подскажите где ошибка?
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP, IdIMAP4,
IdMessage,IdAttachment,IdMessageParts;
type
TForm5 = class(TForm)
IdSMTP1: TIdSMTP;
Button1: TButton;
IdMessage1: TIdMessage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
var
msg : TIdMessage;
file_ : TIdMessagePart;
begin
IdSMTP1.Disconnect;
msg := TIdMessage.Create(nil);
IdSMTP1.Connect;
file_ := TIdAttachment.Create(msg.MessageParts, "c:\1\1.zip"); ////Вот сдесь ошибка!!!!!!!
TIdAttachment.Create(IdMessage1);
IdSMTP1.Send(IdMessage1);
end;
end.
← →
zdm © (2006-11-22 16:31) [33]блин, у меня сейчас крыша съедит, ну нету у TIdAttachment.create свойства "имя файла" там только "Tcollecrtion"
← →
Anatoly Podgoretsky © (2006-11-22 16:31) [34]
> Прочитал, не увидел...
Смотри 5, там не приведено создание всей цепочки объектов, но это ведь само собой подразумеваемое.
← →
zdm © (2006-11-22 16:34) [35]приведите пожалуйста весь текст юнита, ну неужели это так сложно?!?!?!?!?
← →
Anatoly Podgoretsky © (2006-11-22 16:34) [36]Так может у тебя версия не та?
← →
zdm © (2006-11-22 16:37) [37]
> Anatoly Podgoretsky © (22.11.06 16:34) [36]
блин, а может правда, у меня bds2006 ну и полагающейся с ней комплект indy компонент.
← →
Джо © (2006-11-22 16:40) [38]> > Anatoly Podgoretsky © (22.11.06 16:34) [36]
>
> блин, а может правда, у меня bds2006 ну и полагающейся с
> ней комплект indy компонент.
Да, вроде в том Инди, который в BDS2006, в конструкторе всего один параметр. Зато у TIdAttachment имеется метод TIdAttachment.LoadFromStream :)
← →
Anatoly Podgoretsky © (2006-11-22 16:41) [39]> zdm (22.11.2006 16:37:37) [37]
Тогда у тебя Инди 10
← →
Джо © (2006-11-22 16:41) [40]Более того, у него имеется специализированный наследник: TIdAttachmentFile. И у него уже в конструкторе можно прямо задавать имя файла.
← →
zdm © (2006-11-22 16:43) [41]
> Джо © (22.11.06 16:40) [38]
И как им воспользоваться?
← →
Джо © (2006-11-22 16:44) [42]Т.е., разумным представляется такое:
uses
..., IdAttachmentFile;
var
Msg : TIdMessage;
Att : TIdMessagePart;
begin
Msg := TIdMessage.Create(nil);
Att := TIdAttachmentFile.Create(Msg.MessageParts,"d:\myfile.dat");
← →
zdm © (2006-11-22 16:45) [43]
> Джо © (22.11.06 16:41) [40]
Не кидай понты, похоже ты прав, научи лучше. И если можно поподробней. Заранее Спасибо!
← →
Megabyte © (2006-11-22 16:45) [44]Гы %)
Я то код привожу из 7-ки...
← →
Джо © (2006-11-22 16:46) [45]Offtop.
Никогда с этими Аттачментами и прочей почтовой ерундой в Инди не сталкивался. Сейчас ушло 2 минуты, чтобы заглянуть в штатную Справку и сварганить тестовый пример по сабжу. 2 минуты. ВО у меня нет, у автора топика есть. Внимание, вопрос: нахрена такое ВО и чему сейчас в ВУЗах обучают. То, что не умению читать, так это точно. Не перестаю удивляться.
← →
Джо © (2006-11-22 16:47) [46]> [43] zdm © (22.11.06 16:45)
>
> > Джо © (22.11.06 16:41) [40]
>
> Не кидай понты, похоже ты прав, научи лучше.
Богатство своего словарного запаса оттачивал бы где-то в другом месте.
← →
Anatoly Podgoretsky © (2006-11-22 16:50) [47]> Джо (22.11.2006 16:41:40) [40]
Ты наверно справку смотрел :-)
← →
zdm © (2006-11-22 16:50) [48]
> Джо © (22.11.06 16:44) [42]
Я твой должник, вот так все бы отвичали и было бы счастье на земле. СПАСИБИЩЕ ОГРОМНОЕ!!!!!!!!!!!!!!!!!
← →
Джо © (2006-11-22 16:53) [49]>
>
> [48] zdm © (22.11.06 16:50)
>
> > Джо © (22.11.06 16:44) [42]
>
> Я твой должник
Раз должник, то требую возвратить должок, а именно: Поклянешься прямо тут и при всех прежде, чем набрасываться на окружающих с вопросами — залезть в Справку и тщательно изучить вопрос. Для этого необходима самая малость — умение читать.
;->
← →
zdm © (2006-11-22 16:58) [50]
> Джо © (22.11.06 16:53) [49]
Обязуюсь, так и делаю, но иногда встряну на элементарнейшем вопросе и не могу растормозиться. Сначала всегда ищу информацию, либо по справке либо по инету,,, нашел, но не получается и где именно ошибка иногда понять трудно. Спасибо всем за участие и тебе особенно!
← →
Андрей Сенченко © (2006-11-22 17:00) [51]Джо © (22.11.06 16:53) [49]
Положа руку на сердце, Ты бы сам смог разобраться с INDY-йскими почтовыми компонентами по голой справке без примеров ? Там есть пара отнюдь не интуитивно понятных мест, которые лучше смотреть с куском готового кода.
Хотя здесь по поводу .Create - другая история.
← →
Джо © (2006-11-22 17:06) [52]> [51] Андрей Сенченко © (22.11.06 17:00)
> Джо © (22.11.06 16:53) [49]
>
> Положа руку на сердце, Ты бы сам смог разобраться с INDY-
> йскими почтовыми компонентами по голой справке без примеров
> ? Там есть пара отнюдь не интуитивно понятных мест, которые
> лучше смотреть с куском готового кода.
Я именно так только что и "разобрался". Именно по "голой справке".
← →
zdm © (2006-11-22 17:08) [53]
> Джо © (22.11.06 17:06) [52]
Без ехидства. Молодец. У меня не получилось. Ну на то он и форум.
← →
Андрей Сенченко © (2006-11-22 17:10) [54]Ну потому и голубой значок ... я в свое время уперся в TIdMessagePart пока примера не нарыл.
← →
zdm © (2006-11-22 17:20) [55]
> Андрей Сенченко © (22.11.06 17:10) [54]
Не обращал раньше внимания на цвет? Это имеет значение?
← →
Андрей Сенченко © (2006-11-22 17:21) [56]zdm © (22.11.06 17:20) [55]
Мастер
← →
zdm © (2006-11-22 17:25) [57]
> Андрей Сенченко © (22.11.06 17:21) [56]
УУУУх, Ещё больше уважать стал (без ехидства)
← →
umbra © (2006-11-22 19:03) [58]прочтя все это, еще раз убедился, что задавая вопросы по инди обязательно надо указывать версию библиотеки :)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];
Память: 0.59 MB
Время: 0.05 c