Показать сообщение отдельно
  #10  
Старый 30.10.2012, 18:33
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от alikoder
нумлок - я понимаю дружище, но как реализовать не врубаюсь, смотрел несколько примеров в сети, пробовал переделывать для себя, на этом все.... ну не шарю я в этом парсинге, можешь направить меня на путь истинный?
Если в Memo1 вставить html-текст, то по нажатию кнопки Button1 из этого html-текста будет извлечена ссылка (URL) в Edit1:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  cFindText: string = 'so.addVariable("fileLink", "';
var
  p1, p2: Integer;
  Html, Url: string;
begin
  Html := Memo1.Lines.Text;
  Url := '';

  p1 := Pos(cFindText, Html);
  if p1 > 0 then
  begin
    Inc(p1, Length(cFindText));
    p2 := PosEx('"', Html, p1);
    if p2 > 0 then
    begin
      Url := Copy(Html, p1, p2 - p1);
      if not AnsiStartsText('http://', Url) then Url := '';
    end;
  end;

  Edit1.Text := Url;
  if Url = '' then MessageDlg('Ссылка не найдена', mtError, [mbOK], 0);
end;

Также можно воспользоваться регулярными выражениями:
  1. Текст с высоты птичьего полета или Регулярные выражения
  2. Использование VBScript RegExp в Delphi
Ответить с цитированием