Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie bekomm ich alle Mailadressen aus einem Richedit-Feld? (https://www.delphipraxis.net/60947-wie-bekomm-ich-alle-mailadressen-aus-einem-richedit-feld.html)

borlandrulez 14. Jan 2006 17:09


Wie bekomm ich alle Mailadressen aus einem Richedit-Feld?
 
Hallo erstmal!
Ich bin auf der Suche nach einer Funktion um die E-Mailadressen aus einem Richedit Feld(evtl. auch einer Listbox oder einem Memo) auszulesen, um mir das mühselige durchstöbern von Dateien zu ersparen.
Postet bitte alles was mir dabei helfen könnte!

fkerber 14. Jan 2006 17:29

Re: Wie bekomm ich alle Mailadressen aus einem Richedit-Feld
 
Hi!

Ich werfe mal Bei Google suchenRegular Expressions in den Raum!


Ciao Frederic

marabu 14. Jan 2006 17:48

Re: Wie bekomm ich alle Mailadressen aus einem Richedit-Feld
 
Herzlich Willkommen in der Delphi-PRAXiS.

Zu Fuß geht es auch - so oder ähnlich:

Delphi-Quellcode:
const
  LC_CHARS = 'abcdefghijklmnopqrstuvwxyz';
  UC_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  ValidMailBoxChars = LC_CHARS + UC_CHARS + '.';

procedure ExtractMailAddr(text: String; s: TStrings);
var
  iSearch, iStart: Integer;
  sAddr: String;
begin
  s.Clear;
  iSearch := 1;
  while iSearch < Length(text) do
  begin
    sAddr := '';
    iStart := PosEx('@', text, iSearch);
    if iStart = 0 then Exit;
    iSearch := iStart;
    while (iStart > 1) and (Pos(text[Pred(iStart)], ValidMailBoxChars) > 0) do
      Dec(iStart);
    while (iSearch < Length(text)) and (Pos(text[Succ(iSearch)], ValidMailBoxChars) > 0) do
      Inc(iSearch);
    s.Add(Copy(text, iStart, Succ(iSearch - iStart)));
    Inc(iSearch);
  end;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 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