ЖУРНАЛ "Территория Delphi". Выпуск №2, 2008 г.
О журнале
•  Главная
•  Авторы
•  Полезные ссылки
Delphi
•  Шифр простой подстановки
•  Прозрачная форма и не прозрачные компоненты
•  Поиск e-mail адресов
•  Защита исходного кода программы
•  Текст под углом
Устройства (hardware)
•  iRiver S10. Меняем оформление
Софт

•  Настройка jabber в Миранде IM

Администрирование. Linux
•  GPRS соединение в Linux via bluetooth
Администрирование. Windows
•  Установка jabber-сервера OpenFire на Windows

 

Копирование материалов журнала без размещения ссылки-источника запрещено!

Поиск 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

Бесплатный хостинг от EOMY.NET