Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi indy smtp progressbar (https://www.delphipraxis.net/50263-indy-smtp-progressbar.html)

Tanne 22. Jul 2005 17:12


indy smtp progressbar
 
Hallo.
Habt ihr eine Ahnung, wie es möglich ist, die größe einer Email zu erfahren, bevor sie gesendet wird?
Die Größer würde das Maximum einer Progressbar sein.
So dass man den aktuellen Fortschritt durch idsmtp1work sehen kann.
Nur leider müsste dafür die Größe der Mail bekannt sein.

procedure TForm1.IdSMTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
ProgressBar1.Position:=AWorkCount;
end;




SMTP.Username:=name;
SMTP.Password:=passwort;
SMTP.Host:=host;
SMTP.Port:=port;
SMTP.Connect;
try
SMTP.Send(IdMessage);
finally
SMTP.Disconnect;
end;

barf00s 22. Jul 2005 17:14

Re: indy smtp progressbar
 
hat denn TIdMessage keine eigenschaften die man dazu benützen könnte?

SirThornberry 22. Jul 2005 17:16

Re: indy smtp progressbar
 
es gibt doch das Ereignis OnWorkBegin, da bekommst du doch die größe (nächstes mal Augen auf machen!)

Tanne 22. Jul 2005 17:34

Re: indy smtp progressbar
 
Ups...
Das hatte ich nicht mehr beachtet.
Danke für den Hinweis.

Jelly 6. Sep 2005 12:14

Re: indy smtp progressbar
 
Also ich sitz grad am gleichen Problem. Im OnWorkBegin wird AWorkCountMax übergeben, der Wert ist bei mir jedoch null :roll:

Liegt das vielleicht an meinen alten Indy Komponenten für Delphi 4??

holliesoft 6. Jun 2007 19:22

Re: indy smtp progressbar
 
Hallo,


ich wärme dieses Thema mal auf, denn ich hab das selbe Problem:

Zitat:

Zitat von Jelly
Also ich sitz grad am gleichen Problem. Im OnWorkBegin wird AWorkCountMax übergeben, der Wert ist bei mir jedoch null :roll:

Liegt das vielleicht an meinen alten Indy Komponenten für Delphi 4??

Nein, es liegt nicht an Deinen alten Indy-Komponenten... Hab wie gesagt das selbe Problem. Vielleicht weiß jemand eine Lösung?

Gruß
Patrick

Mackhack 6. Jun 2007 23:03

Re: indy smtp progressbar
 
Hallo,

sofern ich es richtig verstanden habe, ich habe es vor Jahren mal so gemacht!

Delphi-Quellcode:
procedure TForm1.RetrievePOPHeaders(inMsgCount: Integer);
var
  stTemp: string;
  IntIndex: integer;
  Itm: TListItem;
begin
  stTemp := Statusbar1.Panels[0].Text;
  lvHeaders.Items.Clear;
  For IntIndex := 1 To inMsgCount Do
  Begin
    // Clear the message properties
    ShowStatus(Format('Messsage %d of %d', [IntIndex, inMsgCount]));
    Application.ProcessMessages;
    //Msg.Clear;
    POP.RetrieveHeader(IntIndex, Msg);
    // Add info to ListView
    Itm := lvHeaders.Items.Add;
    Itm.ImageIndex := 0;
    Itm.Caption := Msg.Subject;
    //If IntIndex
//    itm.SubItems.Add
    Itm.SubItems.Add(Msg.From.Text);
    itm.SubItems.Add(DateToStr(Msg.Date));
    Itm.SubItems.Add(IntToStr(POP.RetrieveMsgSize(IntIndex)));
    Itm.SubItems.Add('n/a');
    // Itm.SubItems.Add(POP.RetrieveUIDL(IntIndex));
  End;
   ShowStatus(stTemp);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz