![]() |
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; |
Re: indy smtp progressbar
hat denn TIdMessage keine eigenschaften die man dazu benützen könnte?
|
Re: indy smtp progressbar
es gibt doch das Ereignis OnWorkBegin, da bekommst du doch die größe (nächstes mal Augen auf machen!)
|
Re: indy smtp progressbar
Ups...
Das hatte ich nicht mehr beachtet. Danke für den Hinweis. |
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?? |
Re: indy smtp progressbar
Hallo,
ich wärme dieses Thema mal auf, denn ich hab das selbe Problem: Zitat:
Gruß Patrick |
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