![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день. Есть код:
Код:
var
Main: TMain;
Data:Variant;
implementation
uses MSHTML;
(*загрузка Гугля*)
procedure TMain.Button1Click(Sender: TObject);
var
SmUrl,HtmlCode:string;
Flags, TargetFrameName, PostData, Headers: Olevariant;
Document:IHTMLDocument2; (*Перем типа*)
begin
Wbbr.Navigate(Edit1.Text, Flags, TargetFrameName, PostData, Headers);
Document:=Wbbr.Document as IHTMLDocument2;
if Assigned(Document) then
HtmlCode:=Document.body.innerHtml;
Memo1.Text:=HtmlCode;
end;
(*находим форму ввода поисковых слов и вводим их*)
procedure TMain.Button2Click(Sender: TObject);
var
I,J:integer;
begin
for I := 0 to (Wbbr.OleObject.Document.forms.Item(0).Elements.Length-1) do
begin
if Wbbr.OleObject.Document.Forms.Item(I).Elements.Name='f' then
Data:=Wbbr.OleObject.Document.Forms.Item(I).Elements;
Break;
end; (*находим нужную форму по имени*)
for J := 0 to (Data.Length-1) do
begin
if (Data.Item(J).Name='q') then Data.Item(J).Value:=Edit2.Text;
end; (*копируем в строку ввода на странице символы из ЕДИТ2*)
end;
(*находим кнопку начать поиск и программно жмем ея*)
procedure TMain.Button3Click(Sender: TObject);
var J:integer;
begin
for J := 0 to (Data.Length-1) do
begin
if (Data.Item(J).value='Поиск в Google') then
//(Wbbr.Document as IHTMLDocument2).ParentWindow.Focus;
Data.Item(J).Click;
end;
end;Практически все работает, но если после нажатия на Батон2 не кликнуть на ТВебБраузер мышью, то при нажатии на Батон3 загрузка страницы не присходит Если кто в курсе, скажите что не так еще. |
|
#2
|
||||
|
||||
|
На первый взгляд - при нажатии на баттон2 происходит увод фокуса с браузера и при жиме на "начать поиск" эта комманда возможно не доходит. Вариант решения - возвращать фокус компоненту или заменить обычные баттоны на битбтн или спидбаттоны у них перехода по Таб (передачи фокуса) нет.
|
|
#3
|
||||
|
||||
|
управляет списком на WEB-странице через TRadioGroup:
http://zalil.ru/34450569 естественно можно и на самой странице кликать. исходник недавно выкладывал. |
|
#4
|
|||
|
|||
|
вообще батоны это временное решение, чиста для демо. в реале должен быть вызов процедур. как думаете что из этого выйдет? сам пока не пробовал
кстати, теритчски, фокус на ТВБР не причем, ведь должен быть программный доступ к внутренностям страницы, лежащей в ДОКУМЕНТ.браузера во всяком случае в источниках так поясняют |