![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TWebBrowser [D7, XP]
arturich © (2006-12-10 14:39:00)Здравствуйте, просмотрел все св-ва данного компонента, но так и не смог найти простого поиска по открытому в нём документу (странице). Как реализовать? Заранее спасибо!
arturich (2006-12-10 15:05:00) [1]Cawa, сейчас попробую второй вариант, спасибо!
arturich (2006-12-10 15:04:00) [2]Cawa, да, так конечно можно, но мне требуется сделать "невизуальный" поиск, без диалогов. Программа быстро ищет заданный текст и если находит, то выполняет соот-вующие действия. Тут задумано так, чтобы пользователь вообще мог отсутствовать во время исполнения таких поисков :(
Cawa (2006-12-10 14:59:00) [3]Если нужен чисто текст из документа вытащить, то можно так:
uses mshtml, activex;
procedure GetHtmlCode(WebBrowser: TWebBrowser; FileName: string);
var
htmlDoc: IHtmlDocument2;
PersistFile: IPersistFile;
begin
htmlDoc := WebBrowser.document as IHtmlDocument2;
PersistFile := HTMLDoc as IPersistFile;
PersistFile.save(StringToOleStr(FileName), true);
end;
Cawa (2006-12-10 14:54:00) [4]2 xela - просто можно диалоговое окно поиска IE вызывать, приблизительно так:
const
HTMLID_FIND = 1;
HTMLID_VIEWSOURCE = 2;
HTMLID_OPTIONS = 3;
...
procedure TForm1.FindIE;
const
CGID_WebBrowser: TGUID = '{ED016940-BD5B-11cf-BA4E-00C04FD70816}';
var
CmdTarget : IOleCommandTarget;
vaIn, vaOut: OleVariant;
PtrGUID: PGUID;
begin
New(PtrGUID);
PtrGUID^ := CGID_WebBrowser;
if WebBrowser1.Document <> nil then
try
WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
if CmdTarget <> nil then
try
CmdTarget.Exec( PtrGUID, HTMLID_FIND, 0, vaIn, vaOut);
finally
CmdTarget._Release;
end;
except
// nothing
end;
Dispose(PtrGUID);
end;
arturich (2006-12-10 14:53:00) [5]Да, по исходнику.. просто не могу понять где, с каким свойством это делается?
xela (2006-12-10 14:47:00) [6]Cawa, по исходнику сначала, а потом уж и hot keys можно назначать )
Cawa (2006-12-10 14:46:00) [7]А те как надо искать программно по исходному коду, или как в броузере по нажатию CTRL+F???