Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1164260461
pavel_guzhanov
2006-11-23 08:41
2006.12.10
Подскажите как правильнее делать a функции/процедуре...


8-1136672981
Гость_
2006-01-08 01:29
2006.12.10
Поворот изображения


2-1164282397
Jimmy
2006-11-23 14:46
2006.12.10
Ошибка при уничтожении формы.


2-1164362418
Xmen
2006-11-24 13:00
2006.12.10
Форма поверх всех других приложений


2-1163934179
Lebedev
2006-11-19 14:02
2006.12.10
Ошибка «Данное имя устройства уже используется приложением в каче





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский