Главная страница
    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. И у него уже в конструкторе можно прямо задавать имя файла.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.047 c
2-1164115226
Mishenka
2006-11-21 16:20
2006.12.10
Как в Image загрузить PCX файл?


15-1163881631
Alexis
2006-11-18 23:27
2006.12.10
Windows.pas из установки Delphi7


6-1153381513
s_pavell
2006-07-20 11:45
2006.12.10
Аудит принтера в сети


3-1159857916
Megabyte
2006-10-03 10:45
2006.12.10
Можно ли прописать алиас без перезапуска сервера?


15-1164260461
pavel_guzhanov
2006-11-23 08:41
2006.12.10
Подскажите как правильнее делать a функции/процедуре...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский