Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Проверка откр. / закр. тага в таблицах HTML...   Найти похожие ветки 

 
Razorblade   (2003-09-08 09:18) [0]

Народ! Если кто нибуди писал нечто подобное или (даже желательно)
сторил дерево тагов HTML документа в TreeView. Отзовитесть! Плз.
Критично по времени!


 
nikkie ©   (2003-09-08 10:32) [1]

MSHTML
создаешь HTML document с помощью CoCreateInstance, инициализируешь через IPersistStreamInit, загружаешь в него данные через IHTMLElement::put_innerHTML. код на c++:
HRESULT hr = CoCreateInstance(CLSID_HTMLDocument, NULL,
CLSCTX_INPROC_SERVER, IID_IHTMLDocument2, (void **)&spHTMLDocument);
_ASSERT(SUCCEEDED(hr));

CComPtr<IPersistStreamInit> spPSI;
hr = spHTMLDocument->QueryInterface(IID_IPersistStreamInit, (void**)&spPSI);
_ASSERT(SUCCEEDED(hr));
hr = spPSI->InitNew();
_ASSERT(SUCCEEDED(hr));
spPSI = NULL;

CComPtr<IHTMLElement> spHTMLElement;
hr = spHTMLDocument->get_body(&spHTMLElement);
_ASSERT(SUCCEEDED(hr));

hr = spHTMLElement->put_innerHTML(HTML);
_ASSERT(SUCCEEDED(hr));

далее делаешь рекурсивный перебор детей у IHTMLElement


 
Razorblade   (2003-09-08 11:25) [2]

Не могу определить CLSID_HTMLDocument. Как? (не силён я в COM).


 
nikkie ©   (2003-09-08 11:30) [3]

uses MSHTML
CLASS_HTMLDocument


 
Razorblade   (2003-09-08 16:24) [4]

spHTMLDocument, spPSI - какой класс?


 
nikkie ©   (2003-09-08 22:30) [5]

там же все написано.
var
HTMLDocument: IHTMLDocument;
HTMLElement: IHTMLElement;
PSI: IPersistStreamInit;
begin
CoCreateInstance(...);
PSI := HTMLDocument as IPersistStreamInit;
PSI.InitNew;
PSI := nil;
HTMLElement := HTMLDocument.body;
HTMLElement.innerHTML := HTML;
end;


 
Razorblade   (2003-09-09 10:45) [6]

Напиши пожалуйста полностью код на Delphi для загрузки HTML файла.
Если не трудно. Заранее спасибо.



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

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
14-71864
MacroDenS
2003-09-01 11:21
2003.09.22
Всех с с праздником!


14-71904
unlx
2003-09-03 13:13
2003.09.22
Простая система офисной почты для локальной сети


6-71782
Nick
2003-07-21 08:03
2003.09.22
файл на сервере...


7-71982
Alexkav
2003-07-09 12:12
2003.09.22
Запуск и останов службы


1-71699
Olegka
2003-09-10 11:08
2003.09.22
Новое окно клиента