![]() |
|
|
![]()
|
|
| storyteller |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 10.12.2012 Репутация: нет Всего: нет |
Ребят,такой вопрос,не подскажите,каким образом можно реализовать поиск в браузере,созданном на c++ builder,причем имею ввиду поиск по ключевым словам(грубо говоря,как ctrl+f) и чтобы искомое слово выделялось каким-либо цветом.
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
'браузере,созданный на c++ builder' - это всего лишь обвертка над OLE объектом IE. Его интерфейс - IWebBrowser2. Вот в нем и ищите
(Вам нужен IWebBrowser2::get_Document и далее) |
|||
|
||||
| Riviero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: 2 Всего: 3 |
Сталкивался в этой задачей, но так и не решил. Делал через Ole.
А если делать так: WebBrowser->Document - то дальше непонятно куда идти, у этого Documenta нет методов, которые можно было бы хоть как-то использовать. При попытке написать так
Выдает access vialation... Засада какая-то. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Через него можно достать DOM дерево загруженного документа. И по нему уже искать нужный текст (но самому, руками). Подстветить, что нашлось, тоже можно через DOM (через стили найденного элемента) |
|||
|
||||
| Riviero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: 2 Всего: 3 |
Это получатся перебор всех элементов? Если страница большая - будет очень долго выполняться. |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
||||
|
||||
| Avazart |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
А использовать TIdHTTP и разбирать вручную ?
|
|||
|
||||
| Riviero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: 2 Всего: 3 |
||||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Avazart имеет в виду загрузить HTML страницу с сервера напрямую (без участия 'браузера,созданного на c++ builder') и искать в ней руками. В принципе для простых страниц может сработать, но даже для простых страниц будет боооольшая проблема с 'чтобы искомое слово выделялось каким-либо цветом.' |
|||
|
||||
| Avazart |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 63 Регистрация: 6.4.2013 Репутация: нет Всего: нет |
Все зависит от конечной цели...
Только совпадения ? Или еще и подсветку с html- форматированием. Если форматирование не нужно то страницу, можно грузить просто RichEdit там искать и подсвечивать. Это сообщение отредактировал(а) Avazart - 1.5.2013, 03:52 |
|||
|
||||
| Riviero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: 2 Всего: 3 |
У меня страница генерируется в проге (просто надо было сделать интерфейс такой же, как и был) и прикрутить бд. Поэтому с сервера загрузить не удасться.
А поиск нужен по вхождениям, без подсветки, как при диалоге поиска с кнопочками "предыдущее", "следующее". Это сообщение отредактировал(а) Riviero - 6.5.2013, 09:20 |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |