Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Listbox->Mailprogramm starten (https://www.delphipraxis.net/7629-listbox-mailprogramm-starten.html)

tini 18. Aug 2003 10:01


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:
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;
Weiß jemand vielleicht rat?
viele grüße
tini

Neuromancer 18. Aug 2003 11:45

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:
empfaenger:=empfaenger+ADOQuery1.FieldByName('EMail-Adresse').AsString+'; ';
Gruß
Armin

tini 18. Aug 2003 11:55

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

tini 18. Aug 2003 12:56

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