Versuch doch noch mal diesen Code (die Zuweisung zu MyText war geringfügig falsch):
Delphi-Quellcode:
start := at-1;
while (start > 0)
and (aValue[start]
in permittedChar)
do
begin
Dec (start)
end;
{ hier steht start vor dem ersten gültigen Zeichen (kann 0 sein) }
stop := at+1;
while (stop <= length(aValue))
and (aValue[stop]
in permittedChar)
do
begin
Inc (stop)
end;
{ hier steht stop nach dem letzten gültigen Zeichen (kann length() + 1 sein) }
Mytext:= Copy (aValue, start + 1, stop - start - 1);
Übrigens: hast du mal die Bereichsüberprüfung eingeschaltet? Dann solltest du mit dem bisher als einzig funktionierenden Code nämlich eine Schutzverletzung erhalten, wenn eine Mail-Addresse ganz am Ende des Strings steht...