AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Listbox->Mailprogramm starten
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox->Mailprogramm starten

Ein Thema von tini · begonnen am 18. Aug 2003 · letzter Beitrag vom 18. Aug 2003
Antwort Antwort
tini

Registriert seit: 13. Aug 2003
16 Beiträge
 
#1

Listbox->Mailprogramm starten

  Alt 18. Aug 2003, 10:01
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
  Mit Zitat antworten Zitat
Neuromancer

Registriert seit: 8. Aug 2003
62 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Listbox->Mailprogramm starten

  Alt 18. Aug 2003, 11:45
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:
empfaenger:=empfaenger+ADOQuery1.FieldByName('EMail-Adresse').AsString+'; '; Gruß
Armin
  Mit Zitat antworten Zitat
tini

Registriert seit: 13. Aug 2003
16 Beiträge
 
#3

Re: Listbox->Mailprogramm starten

  Alt 18. Aug 2003, 11:55
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
  Mit Zitat antworten Zitat
tini

Registriert seit: 13. Aug 2003
16 Beiträge
 
#4

Re: Listbox->Mailprogramm starten

  Alt 18. Aug 2003, 12:56
mir ist gerade selbst ein fehler aufgefallen:
ich sollte listbox1.itemindex:=i setzen, sonst kann ich wohl lange auf eine multiselektfkt warten...

aber beim öffnen einer neue mail, bei der viele adressen übergeben werden, bleibt der rechner immer noch hängen

tini
  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 11:49 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