Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2009, 09:01   #1
medved6216
Пользователь
 
Регистрация: 28.10.2009
Сообщений: 56
По умолчанию Перехват ссылки в webbrowser1 и перевод её в IdHTTP1

Проблема вот в чём, нужно перехватывать ссылку из webbwoser1 до момента загрузки страницы и посылать её в IdHTTP1, выполнять функцию поиска по коду, сохранять отфильтрованный код, сохранять его в файле, и запускать в браузере
Вот что я смастерил, но он виснет, из-за того что не может закончиться фильтровку

Код:

procedure TForm1.WebBrowser1BeforeNavigate2(ASender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var
Source:string;
begin
memo2.Text:='';
memo2.Lines[0]:='http://ссылка';{как сделать перехват ссылке, просто ввёл ссылку, чтобы попробовать}
Source:=IdHTTP1.Get(memo2.lines[0]);{соответсвенно посылаем эту ссылку в IdHTTP1, можно в принципе послать другим способом}
Delete(Source,1,Pos('<index>',Source)+6);
Delete(Source,Pos('</index>',Source),Length(Source)-Pos('</index>',Source)-1);
memo1.Text:=source;
memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+'show.html');
webbrowser1.Navigate(ExtractFilePath(Application.ExeName)+'show.html');{вот тут программа начинает походу всё по кругу или просто виснет}
end;
Что мне исправить? Или как реализовать это.
medved6216 вне форума Ответить с цитированием
Старый 16.11.2009, 09:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
memo2.Lines[0]:=URL;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.11.2009, 09:52   #3
medved6216
Пользователь
 
Регистрация: 28.10.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
memo2.Lines[0]:=URL;
Выдаёт ошибку HTTP /1.0 404 not found
medved6216 вне форума Ответить с цитированием
Старый 16.11.2009, 11:29   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Странно... У меня вроде не глючит...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.11.2009, 16:55   #5
medved6216
Пользователь
 
Регистрация: 28.10.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Странно... У меня вроде не глючит...
а у меня вылетает, посмотри правильно ли я использую событие, для перехвата ссылке

Код:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
medved6216 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура останавливается на idhttp1.get('') Des Компоненты Delphi 0 18.05.2009 19:05
Не работает idHTTP1.Get Crivel Работа с сетью в Delphi 10 10.04.2009 08:23
Как объединить idHTTP1.Get и WebBrowser1? DemonXT Работа с сетью в Delphi 5 09.04.2009 12:04
IdHTTP1 некорректно работает nike-p Работа с сетью в Delphi 9 23.07.2008 23:13
перехват ссылки из браузера Scorpeon Общие вопросы Delphi 6 21.06.2007 19:08