Показать сообщение отдельно
  #2  
Старый 08.12.2011, 08:52
MrDiG MrDiG вне форума
Начинающий
 
Регистрация: 05.10.2010
Сообщения: 112
Репутация: 1227
По умолчанию

А гугл просто открывался...
Код:
procedure TForm3.Button1Click(Sender: TObject);
var List: TStringList;
    R: TRegExp;
    mc: MatchCollection;
    m: Match;
    sm: SubMatches;
    Stream: TMemoryStream;
    JPEG: TJPEGImage;
begin
  List:=TStringList.Create;
  List.Text:=IdHTTP1.Get('http://webmaster.yandex.ru/');//получаем содержимое страницы в переменную
  R:=TRegExp.Create(self);
  R.Pattern:='src="(.*?key.*?)"'; //регулярное выражение для поиска Captcha
  R.Multiline:=true;
  R.IgnoreCase:=true;
  R.Global:=true;
  mc := R.Execute(List.Text) as MatchCollection;
    if mc.Count > 0 then //нашли совпадение
      begin
        m:= mc[0] as Match;
        sm:= m.SubMatches as SubMatches;
        Stream:=TMemoryStream.Create;
        IdHTTP1.Get(sm[0],Stream); //грузим капчу в поток.
        Stream.Position:=0; //устанавливаем ОБЯЗАТЕЛЬНО на ноль
        JPEG:=TJPEGImage.Create;   //создаем jpeg
        JPEG.LoadFromStream(Stream);//загружаем данные из потока
        Image1.Picture.Assign(JPEG);//выводим в Image
      end;
end;

Closed.
Ответить с цитированием