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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 16:30   #1
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию WebBrowser

Такая просьба.
Начал работать, а точнее изучать компонент WebBrowser появилось несколько вопросов.
Один из ни.

Для адреса на форме выделен ComboBox. Как мне при загрузки страницы поместить туда текущий адрес url?
Если пользователь туда вводит все норм, а если по ссылке переходить, увы не знаю.
Проблема не в занесении в ComboBox, а в том как получить этот адрес. Есть какая-нибудь функция которая возвращает его?
Заранее спасибо!
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 22.04.2010, 16:37   #2
Tinki
 
Аватар для Tinki
 
Регистрация: 29.03.2010
Сообщений: 7
По умолчанию

в событии onBeforeNavigate2 пишешь:
Цитата:
procedure TForm1.WebBrowser1BeforeNavigate2(S ender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
edit1.Text:=URL;
end;
и получаешь перед загрузкой в эдит текущий урл
или
в событии onNavigateComplete2 - после загрузки:
Цитата:
procedure TForm1.WebBrowser1NavigateComplete2 (Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
edit1.Text:=URL;
end;

Последний раз редактировалось Tinki; 22.04.2010 в 16:45.
Tinki вне форума Ответить с цитированием
Старый 22.04.2010, 17:01   #3
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Благодарю!
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 22.04.2010, 19:27   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Хочу посоветовать: не мучайтесь с делфийским webbrowser поставьте EmbeddedWB - это аналог с массой полезных свойств.
Виталий Желтяков вне форума Ответить с цитированием
Старый 23.04.2010, 18:16   #5
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Виталий Желтяков, интересно, спасибо за совет.
Попробую посмотреть что он из себя представляет.

Но у меня возник такой вопрос, не хочу его бросать.
Вот если допустим нужно что-либо скачать из нета.
Мне говорили, что можно воспользоваться загрузчиком и Internet Explorer-а. Как это можно осуществить... и можно ли?
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 23.04.2010, 19:08   #6
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Простая функция:
Код:
uses urlmon, wininet
//-------------------- Функция загрузки файла --------------------------------//
// SourceFile - источник, DestFile - назначение
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
  except
    Result := False;
  end;
end;
//----------------------------------------------------------------------------//
Виталий Желтяков вне форума Ответить с цитированием
Старый 23.04.2010, 19:32   #7
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Благодарю!!!!
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 23.04.2010, 22:33   #8
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

"Химичил" я "химичил" что-то получилось, почти доволен, однако есть проблема.
Пробовал разные варианты, так сказать методом тыка, но результата не получил.
Минимум- это не дать возможность.
А именно:
при возникновении события "Открытия нового окна" браузера.
Как не дать его открыть я вроде как понял, угадал так сказать. А вот как сделать так, чтобы при возникновении этого события новое окно не открывалось, а загружалось в текущее?
Заранее спасибо.
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 24.04.2010, 07:37   #9
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Используйте WebBrowser.Navigate
Виталий Желтяков вне форума Ответить с цитированием
Старый 24.04.2010, 09:15   #10
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Вот, что мне в голову пришло. Вроде работает. Обошел открытие нового окна. Теперь оно открывается в текущем.
Может вариант не супер, но по-другому не смог.

Код:
procedure TForm2.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
var ur:OleVariant;
begin
   WebBrowser1.Navigate(Text1);
   cancel:=true;
end;

procedure TForm2.WebBrowser1StatusTextChange(ASender: TObject;
  const Text: WideString);
begin
  Text1:=Text;
  StatusBar1.SimpleText:=Text;
end;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser DelPavel Общие вопросы Delphi 1 01.12.2009 15:50
webbrowser gromsgu Компоненты Delphi 4 19.05.2009 16:44
webbrowser gromsgu Общие вопросы Delphi 0 14.05.2009 23:56
webbrowser CraZZy RabbIt Компоненты Delphi 2 07.05.2009 09:27
WebBrowser JakSon Работа с сетью в Delphi 2 03.05.2008 01:05