Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2012, 11:13
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию Webbrowser+вкладки

Друзья, всем привет. Помогите пожалуйста разобрать 1 момент, есть что то наподобий браузера, на форме стоит pagecontrol c 30ю вкладками, на каждой вкладке стоит webbrowser. Есть некий сайт а вней кнопка, так вот при нажатий на эту кнопку страница открывается не в новой вкладке а в IE, как сделать так что бы страница открывалась в след.вкладке pagecontrol?
Ответить с цитированием
  #2  
Старый 28.11.2012, 16:58
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию

Ура! Разобрался с этой проблемой. Но тут возникла вторая. Никак не получается программно нажать на кнопку на сайте. Пожалуйста кому не сложно посмотрите, есть подозрения что проблема из за Фрейма. http://www.fips.ru/cdfi/Fips2009.dll/ после перехода нажмите на кнопку гостевой вход, затем "Патентные документы РФ (рус.)" выберите все чекбоксы, далее нажмите на ссылку поиск слева. Открывается форма, в поле автор введите к примеру "Иванов",и нажмите поиск. Открывается страница со списком ссылок, выберите любой на открывшейся странице есть кнопка "Версия для печати" вот на эту кнопку не получается никак нажать. Пробовал нажать
Код:
procedure TForm1.Button4Click(Sender: TObject);
var
j:integer;
begin
for j := 0 to WebBrowser1.OleObject.Document.all.tags('input').length - 1 do
   begin
   try
   if (WebBrowser1.OleObject.Document.all.tags('input').item(i).value='Версия для печати') then
   WebBrowser1.OleObject.Document.all.tags('input').item(i).click;
   except
end;
и так
Код:
var
a:variant;
begin
a:=Webbrowser1.Oleobject.Document.GetElementById('Версия для печати');
a.click;
end;
Ответить с цитированием
  #3  
Старый 28.11.2012, 21:35
icsander icsander вне форума
Новичок
 
Регистрация: 17.04.2011
Сообщения: 87
Репутация: 10
По умолчанию

Очуметь ! Ты, что, вкладки (30 шт.) создавал в дизайнтайме и бросал на них т_веббраузер ???
Ответить с цитированием
  #4  
Старый 28.11.2012, 21:40
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию

Да именно так=))) ну щас прицепил динанимическое создание табов=))) но вот с вызовом js в делфи для того что бы нажать кнопку никак не могу разобраться
Ответить с цитированием
  #5  
Старый 29.11.2012, 09:22
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

не уверен что тут о js речь

может как-то так:
Код:
Webbrowser1.OleObject.Document.Frames...

Код:
GetElementById('bPrint')
__________________
>woweook<
Ответить с цитированием
  #6  
Старый 29.11.2012, 19:00
Аватар для borockov
borockov borockov вне форума
Начинающий
 
Регистрация: 18.08.2012
Сообщения: 125
Репутация: 10
По умолчанию =)

Цитата:
Сообщение от Pyro
не уверен что тут о js речь

может как-то так:
Код:
Webbrowser1.OleObject.Document.Frames...

Код:
GetElementById('bPrint')
Таким образом я уже прбовал никакого эффекта, вот js код самой кнопки
Код:
window.location = 'http://www1.fips.ru/fips_servl/fips_servlet?lockId='+values["SessionKey"]+'&hitListURL='+values["IPSKey"]+'&Index='+values["CurrentDoc"]+'&NumEnv='+values["NumEnv"];

Вот это надо как то вызвать в делфи, кое что надыбал но разобрать не могу.

Код:
uses
  MSHTML;
procedure TForm1.CallFoo(S: string; I: Integer);
  { Calls JavaScript foo() function }
var
  Doc: IHTMLDocument2;      // current HTML document
  HTMLWindow: IHTMLWindow2; // parent window of current HTML document
  JSFn: string;             // stores JavaScipt function call
begin
  // Get reference to current document
  Doc := WebBrowser1.Document as IHTMLDocument2;
  if not Assigned(Doc) then
    Exit;
  // Get parent window of current document
  HTMLWindow := Doc.parentWindow;
  if not Assigned(HTMLWindow) then
    Exit;
  // Run JavaScript
  try
    JSFn := Format('foo("%s",%d)', [S, I]);  // build function call
    HTMLWindow.execScript(JSFn, 'JavaScript'); // execute function
  except
    // handle exception in case JavaScript fails to run
  end;
end;
Взято отсюда
Код HTML:
http://www.delphidabbler.com/articles?article=21
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025