![]() |
Listbox->Mailprogramm starten
Hi!
hätte eine Frage zur ListBox! Ich möchte über ein Multiselect mehrere Gruppe auswählen, von denen dann via sql abfrage aus einer access datenbank die email-adr. herausgefiltert wird. jedoch funtkioniert das nicht! es immer nur die daten aus einer gruppe ans mail programm übertragen. ist da ein fehler in der schleife, oder wird dann der string zu groß, und kann nicht mehr im addressfeld des mailprogarmm aufgenommen werden?
Delphi-Quellcode:
Weiß jemand vielleicht rat?
procedure TForm1.Button1Click(Sender: TObject);
var Betreff: string; Inhalt: string; i: integer; empfaenger: string; begin Betreff:=Edit1.Text; Inhalt:=Memo.Text; empfaenger:=''; for i:=0 to ListBox1.Items.Count-1 do begin if ListBox1.Selected[i]=True then begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='SELECT [EMailAdresse].[EMail-Adresse] FROM EMailAdresse WHERE (([EMailAdresse].[Gruppe])=:Gruppe)'; ADOQuery1.Parameters.ParamValues['Gruppe']:= Listbox1.Items[Listbox1.ItemIndex]; ADOQuery1.Open; ADOQuery1.First; WHILE NOT (ADOQuery1.Eof) DO begin empfaenger:=empfaenger+ADOQuery1.FieldByName('EMail-Adresse').AsString+';'; ADOQuery1.Next; end; end; end; //empfaenger:=Edit2.Text; ShellExecute(Application.Handle, 'open',PChar('mailto:'+empfaenger+'?subject='+Betreff+'&body='+Inhalt), nil, nil, sw_ShowNormal); end; viele grüße tini |
Re: Listbox->Mailprogramm starten
Hi Tini,
habe mir eben mal angesehen, wie Outlook das handlet, wenn du mehrere Email-Addies aneinanderhängst. Dort wird nach der letzten Adresse immer noch ein Semikolon plus ein Space drangehängt. Eventuell hilft es also, wenn du deinen Code so abänderst:
Delphi-Quellcode:
Gruß
empfaenger:=empfaenger+ADOQuery1.FieldByName('EMail-Adresse').AsString+'; ';
Armin |
Re: Listbox->Mailprogramm starten
Hi Neromancer!
ich glaub an dem leerzeichen liegts nicht wirklich... wenn ich bspw. eine gruppe mit vielen mail-adds auswähle, dann wird entweder ein new-message fenster geöffnet (rechner bleibt irgendwie hängen) oder es werden zwar die mail-adds übertragen, aber dafür subject und betreff nicht... bei auswahl einer gruppe mit 3adds oder so, dann funtioniert alles perfekt.:? wobei ich mir aber nicht vorstellen kann, dass der string für 'empfaenger' zu klein wäre, und dann betreff und body bei zu vielen addressen überschreibt... :( grüße tini |
Re: Listbox->Mailprogramm starten
mir ist gerade selbst ein fehler aufgefallen:
ich sollte listbox1.itemindex:=i setzen, sonst kann ich wohl lange auf eine multiselektfkt warten... :wall: aber beim öffnen einer neue mail, bei der viele adressen übergeben werden, bleibt der rechner immer noch hängen :cry: tini |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:15 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