![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть код, который считывает HTML-код в Memo -
Код:
//--- Функция считывания html-кода в TMemo function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean; var ps: IPersistStreamInit; s: string; ss: TStringStream; sa: IStream; begin ps := WB.document as IPersistStreamInit; s := ''; ss := TStringStream.Create(s); try sa:= TStreamAdapter.Create(ss, soReference) as IStream; Result := Succeeded(ps.Save(sa, Bool(True))); if Result then ACode.Add(ss.Datastring); finally ss.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); Var ShellWindow: IShellWindows; WB: IWebbrowser2; spDisp: IDispatch; IDoc1: IHTMLDocument2; Begin for k := 0 to ShellWindow.Count do begin{1} spDisp := ShellWindow.Item(k); if spDisp = nil then Continue; {QueryInterface определяет, может ли интерьфейс использоваться объектом} // проверяем, а не браузер ли это spDisp.QueryInterface(iWebBrowser2, WB); if WB <> nil then begin{2} // проверяем , а не HTML ли это WB.Document.QueryInterface(IHTMLDocument2, iDoc1); if iDoc1 <> nil then // Если да дергаем html код begin{3} // связываем запущенный экземпляр Internet Explorera как браузер WB := ShellWindow.Item(k) as IWebbrowser2; begin{4} Form1.Memo1.Clear; GetHTMLCode(WB, Memo1.Lines);// Запись кода в Memo end;{4} end;{3} end;{2} end;{1} End. </a>|</div>|<div class="text">|<span>Ð*то наиболее Можно ли сделать так </a> </div> <div class="text"> <span>Ð*то наиболее общий Т.е. как либо изменить функцию GetHTMLCode, чтобы в каждой строке Memo была одна строка считанного html кода??? |
#2
|
|||
|
|||
![]() Разобрался, для этих целей луче использовать TRichEdit... Только чтото когда в ScrollBars ssBoth или ssHorizontal горизонтальная прокрутка не появляется?
|