AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Threads für Schleife einbauen

Ein Thema von SyntaxXx · begonnen am 9. Mai 2010 · letzter Beitrag vom 10. Mai 2010
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Threads für Schleife einbauen

  Alt 9. Mai 2010, 21:53
So heute habe ich mal etwas schweres, woran ich scheitere.

Also ich habe ein Programmm, welches Emails verschickt.
So jetzt kann ich da mehrere Emails angeben, da ich all meinen Kollegen meine Ergebnisse mitteilen muss.
Das macht die Sache natürlich leichter mit meinem Programm.

Dazu sei gesagt, das Programm läuft wunderbar.

Jetzt hab ich nur das Problem, wenn ich jetzt 10 EMail adressen angebe und auf Senden Klicke, dann hängt sich das Programm auf und ich muss warten bis es fertig geschickt hat.
Das ist natürlich sehr unschön.

Deswegen habe ich mir gedacht, gut baue ich Threads ein, damit das Programm nicht hängen bleibt und ich mir den Fortschritt in ner Progressbar anzeigen lassen kann.

Denn i mom ist es so, das die Progressbar erst ganz leer ist und wenn die Emails gesendet wurden, dann aufeinmal ganz voll ist.

Und ich möchte natürlich, das mir der Fortschritt zeitnah angezegt wird.


Jetzt würd eich einfach mal gerne wissen wie ich denn jetzt die Schleife einbaue.

Das hier ist mein Code:

Delphi-Quellcode:
begin
repeat
with idMessage1 do
begin
  Body.Assign(Memo2.Lines);
  From.Text :=(LabeledEdit1.Text);
  Subject :=(Edit1.Text);
        Recipients.EMailAddresses := Memo1.Lines.Strings[i];
          if Radiobutton1.Checked = true then
            Priority:= mpHigh;
          if Radiobutton1.Checked = true then
            Priority:= mpNormal;
          if Radiobutton1.Checked = true then
            Priority:= mpLow;
   CCList.EMailAddresses:='';
   BCCList.EMailAddresses:='';

end;
with idSMTP1 do
begin

    Username:=LabeledEdit1.Text;
    Password:=Maskedit1.Text;
    Host:=LabeledEdit3.Text;
    Port:=25;
    Connect;
    Send(idMessage1);
    Disconnect;
    end;
i := i+1;

until i = Memo1.Lines.Count ;
end;


Wäre euch wirklich sehr dankbar
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Threads für Schleife einbauen

  Alt 9. Mai 2010, 22:20
Du brauchst dafür keinen Thread. Gib einfach mehrere EMailadressen als Empfänger an (bcc). Dann muss nur eine EMail zum Relay-Server gesendet werden und dieser kümmert sich dann darum diese an alle Adressaten zu verschicken.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

Re: Threads für Schleife einbauen

  Alt 9. Mai 2010, 22:31
Delphi-Quellcode:
if Radiobutton1.Checked = true then
  Priority:= mpHigh;
if Radiobutton1.Checked = true then
  Priority:= mpNormal;
if Radiobutton1.Checked = true then
  Priority:= mpLow;
Was soll denn das werden? Sollte da nicht RB1, 2, 3 stehen? Des Weiteren ist ein Vergleich mit "= true" zwar möglich aber in bestimmten Fällen tödlich, warum man das "= true" einfach weglässt. Ist nicht nur weniger Schreibaufwand, sondern auch richtiger. Weitere Infos hier im Forum.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#4

Re: Threads für Schleife einbauen

  Alt 9. Mai 2010, 22:47
Ok hab alles geändert.

Jetzt hab ich nur ein Problem, es sind leide rnicht immer 10 Emails, es sind mal mehr mal weniger.
Wie kann ich das denn dann machen, das nur immer die die ich im Memofeld angebe eine bekommen, wenn ich die als bcc angebe?

BCCList.EMailAddresses:=Memo1.Lines.Text kann ja nicht funktionieren.

Habt ihr vielleicht eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von spaxxn
spaxxn

Registriert seit: 19. Nov 2004
253 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Threads für Schleife einbauen

  Alt 10. Mai 2010, 09:00
Delphi-Quellcode:
  Memo1.Lines.Delimiter := ';'
  BCCList.EMailAddresses := Memo1.Lines.DelimitedText;
Wäre eine Idee, aber du bist sehr sparsam mit deinen Infos...
"Hey Süße,
hol mir mal was zu trinken! Du wirst schon wieder hässlich!"

Zitat eines Betrunkenen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz