Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Вниз

TWebBrowser   Найти похожие ветки 

 
arturich ©   (2006-12-10 14:39) [0]

Здравствуйте, просмотрел все св-ва данного компонента, но так и не смог найти простого поиска по открытому в нём документу (странице). Как реализовать? Заранее спасибо!


 
Cawa ©   (2006-12-10 14:46) [1]

А те как надо искать программно по исходному коду, или как в броузере по нажатию CTRL+F???


 
xela   (2006-12-10 14:47) [2]

Cawa, по исходнику сначала, а потом уж и hot keys можно назначать )


 
arturich ©   (2006-12-10 14:53) [3]

Да, по исходнику.. просто не могу понять где, с каким свойством это делается?


 
Cawa ©   (2006-12-10 14:54) [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;


 
Cawa ©   (2006-12-10 14:59) [5]

Если нужен чисто текст из документа вытащить, то можно так:

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;


 
arturich ©   (2006-12-10 15:04) [6]

Cawa, да, так конечно можно, но мне требуется сделать "невизуальный" поиск, без диалогов. Программа быстро ищет заданный текст и если находит, то выполняет соот-вующие действия. Тут задумано так, чтобы пользователь вообще мог отсутствовать во время исполнения таких поисков :(


 
arturich ©   (2006-12-10 15:05) [7]

Cawa, сейчас попробую второй вариант, спасибо!



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.12.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.044 c
15-1165604393
Гоблин
2006-12-08 21:59
2006.12.31
McAffee


15-1165584015
vitv
2006-12-08 16:20
2006.12.31
Существует описание VCL на русском языке?


15-1165816847
vidiv
2006-12-11 09:00
2006.12.31
Создание учетной записи администратора


4-1156501872
Тфьу
2006-08-25 14:31
2006.12.31
Как отловить ошибку макроса Excel?


2-1165756805
nurlan_1
2006-12-10 16:20
2006.12.31
Table1: No index currently active





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский