|
Поиск e-mail адресов
Всем доброго времени суток!
Спам это, конечно, не есть хорошо, но все же для общего развития можно немного поработать в этом направлении. Вот я и представляю Вашему вниманию небольшую, но стабильно рабочую процедуру по поиску в файле email-адресов. Принцип самый простой и самый распространенный - это определение адреса по символу "@". Вот и сам код процедуры:
{Предварительно на форму бросаем компонент TMemo, именно туда будем "складировать" найденные адреса}
function EmailExtr(filepath:string):string;
const delimiters = [' ', ':']; // <--- Менять по желанию
var
i,Ebeg,Eend,Epos:integer;
str:string;
tfile:TextFile;
begin
assignfile(tfile,filepath);
reset(tfile);
result:='';
while not(eof(tfile)) do begin
readln(tfile,str);
epos:=pos('@',str);
if epos=0 then continue;
ebeg:=0;
for i:=epos-1 downto 1 do
if str[i] in delimiters then begin
ebeg:=i;
break;
end;
eend:=length(str);
for i:=epos+1 to length(str) do
if str[i] in delimiters then begin
eend:=i;
break;
end;
result:=copy(str,ebeg+1,eend-ebeg-1);
Form1.Memo1.Lines.Add(Result);
end;
closefile(tfile);
end;
А используем процедуру примерно таким способом:
EmailExtr('c:\file.txt');
C уважением, onyx
|
|