C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
CppWebBrowser
Graph
Отправлено: 07.04.2004, 10:25


Не зарегистрирован







есть проблема
я загружаю в CppWebBrowser фреймовую структуру надо сделать поиск по определенному фрейму

я достучался до определенного фрейма могу найти первое слово а наити следущее слово в этом HTML я не могу sad.gif((((
Graph
Отправлено: 08.04.2004, 07:51


Не зарегистрирован







код такой
//=========================================
поиск
....
Form1->curHTMLTxtRange->findText(srcStr,(long)direct, 0, &Success);
if(Success)
{ ShowMessage("wwwwwwww");
Form1->curHTMLTxtRange->select();
Flag = true;
}
...
а так я стучусь до фрейма
....
hr = Brows->Document->QueryInterface(IID_IHTMLDocument2,(void **)&curHTMLDoc);
curHTMLDoc->get_frames(&frame);
frame->get_length(&FramesCount);
VARIANT vFrame;
VARIANT ret;
vFrame.vt = VT_UINT;
IHTMLWindow2 *pWindow = NULL;

LONG IndexFrame= 1;

vFrame.lVal =IndexFrame;
frame->item(&vFrame, &ret);
ret.pdispVal->QueryInterface(IID_IHTMLWindow2,(LPVOID*)&pWindow);
IHTMLDocument2 *pDoc = NULL;

pWindow->get_document(&pDoc);
curHTMLTxtRange = NULL;
curHTMLBody = NULL;
try
{
hr = pDoc->get_body(&ie);
hr = ie->QueryInterface(IID_IHTMLBodyElement,(void **)&curHTMLBody);
curHTMLBody->createTextRange(&curHTMLTxtRange);
}
catch (...)
{
}
Asher
Отправлено: 08.04.2004, 11:05


Мастер участка

Группа: Модератор
Сообщений: 550



Я в интернете не силен biggrin.gif
Твою функцию поиска я в справке не нашел (не знаю какого типа curHTMLTxtRange), но по жизненному опыту wink.gif могу предположить, что в функции findText(srcStr,(long)direct, 0, &Success); 0 — это позиция нлала поиска строки.
А сама функция должна возвращать позицию найденной подстроки.
Так-что наверное для следующего поиска следует заменить 0 на эту позицию + длина твоей подстроки

Все сказанное — просто мои догадки.
P.S. Нафига тему открыл во флейме?

Вернуться в Флейм