![]() |
mail status ... progessbar
hi leute
ich bruach mal wieder eure hilfe ;) und zwar sitz ich grade an einem kleinen tool, für meine community, das tool versendet emails, an bestimmte adressen, mit größerem anhang (so 10-15mb) über den sinn bruacht ihr euch keien gedanken amchen ;) ich weiß das es sich für euch sicherlich komisch anhört ;) und zwar läuft das mit dem senden auch super und einwandfrei, mails kommen an, auch mit dne anhängen ;) ich benutze zum sendne die indy-komponenten (TIDsmtp) jetzt hätte ich aber gerne ne progressbar drin, welche anzeigt, wieviel von der mail (dem anhang) schon gesendet wurde, aber ich weiß absolut nciht wie ich das machen kann ;( hoffe ihr könnt mir helfen ;( cu andré |
Re: mail status ... progessbar
Ich hab dir mal ein kleines Beispiel zusammengebastelt:
Delphi-Quellcode:
Normalerweise sollte man AWorkCountMax nehmen, um die Anzahl der zu übertragenden Bytes herauszufinden, aber
procedure TForm1.IdSMTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer); begin ProgressBar1.Max := FileSizeByName('C:\DreamControls.chm'); ProgressBar1.Position := 0; end; procedure TForm1.IdSMTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin ProgressBar1.Position := AWorkCount; end; procedure TForm1.IdSMTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin ProgressBar1.Position := 0; end; Zitat:
Wenn du es also genau machen willst, dann musst du dir die einzelnen Teile vornehmen und die Größe selber zusammenbasteln. |
Re: mail status ... progessbar
danke dir vielmals für diene hilfe ;)
funzt einwandfrei da ich ja sowieso nur auf die anhänge der mails ausbin, interessierne mich die par kb text net, die machen da keinen großen aussschlag, also reichts mit filesize ;) jetzt hab ich nur ein problem ;( und zwar seit dem ich progrssbar drin hab, fiert das programm ein ;( also progressbar läuft zwar weiter und er sendet auch, aber ich könnte beispielsweise keine button mehr drücken während er sendet ;( das antifreeze von indy hab ich schon dabei ;( funzt aber auch ent hat jemand ne idee ? ;) cu andré |
Re: mail status ... progessbar
Versuch's mal mit nem Application.ProcessMessages im OnWork-Event...
|
Re: mail status ... progessbar
danke dir ;)
du bist mein held ;) funzt so einwandfrei, zwar mit verzögerung von ca. 1sek, aber damit kann ich 100% leben ;) haußtsache es reagiert überhaupt ;) cu andré |
Re: mail status ... progessbar
sry wegen dem doppel post ;(
hab abe rnoch eine wichtige frage, dann kann ich den thread als beantwortet abstemplen ;) und zwar würde mich nur interessieren, wie schnell de rupload jetzt is, also wie mit welchem speed die mail gesendet wird ;) thx 4 help cu andré |
Re: mail status ... progessbar
Einen Timer und das hier:
Delphi-Quellcode:
Den Timer in OnWorkBegin enablen und im OnWorkEnd disablen.
procedure TForm1.Timer1Timer(Sender: TObject);
begin Label1.Caption := Format('%d Bytes/sek', [BytesSend - Start]); Label1.Repaint; Start := BytesSend; end; Start in diesen beiden Methoden auf 0 setzen; BytesSend im OnWork auf AWorkCount setzen |
Re: mail status ... progessbar
danke dir ;)
was würde ich nur ohne dich machen ;) funzt einwandfrei, hatte mir das auch sleber mit nem timer gedacht, aber flasch umgestezt, udn zwar hab ich die sekunden gezählt dann die bytessend durch vergangegene sekunden geteilt, aber irgendwei ging das net ;( einziges prob noch ;( der startet den timer erst nachdem er gesendet hat ;( ka wieso ;( der zählt erst am ende runter ;( cu andré |
Re: mail status ... progessbar
Tja... :wink:
Da fehlt 100%ig noch ein Application.ProcessMessages im OnWork-Event. |
Re: mail status ... progessbar
hmm eigneltich isses drin ;(
egal werd den fehler shcon finden ^^ nochmal vielen vielen dank für deine hilfe cu andré |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 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