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

Вниз

Как в броузер загрузить текст из строковой переменной?   Найти похожие ветки 

 
Xenon   (2003-05-21 18:16) [0]

Есть мемо, содержащее HTML. Надо просмотреть его в TWebBrowser.
Как это сделать?


 
Ihor Osov'yak   (2003-05-21 19:16) [1]

1 вариант

procedure ShowHTML(aText: string);
var
v: Variant;
HTMLDocument: IHTMLDocument2;
begin
CheckDocReady(WebBrowser);
HTMLDocument := WebBrowser.DefaultInterface.Document as IHTMLDocument2;
v := VarArrayCreate([0, 0], varVariant);
v[0] := aText; // Here"s your HTML string
HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
HTMLDocument.Close;
end;


2 вариант


function TForm1.LoadFromStream(const AStream: TStream): HRESULT;
begin
AStream.seek(0, 0);
Result := (WebBrowser1.Document as IPersistStreamInit).Load
(TStreamAdapter.Create(AStream));
end;




 
nikkie   (2003-05-21 21:43) [2]

во 2-м варианте лучше WebBrowser.DefaultInterface.Document вместо WebBrowser1.Document

3 вариант

var
Doc: Variant;
begin
Doc := WebBrowser1.DefaultInterface.Document;
Doc.write(aText);
end;


во всех вариантах какой-нибудь документ должен быть уже загружен, например, через WebBrowser1.Navigate("about:blank");


 
Ihor Osov'yak   (2003-05-21 23:34) [3]

2 nikkie © (21.05.03 21:43)

> во 2-м варианте лучше WebBrowser.DefaultInterface.Document вместо WebBrowser1.Document


Естественно..

>во всех вариантах какой-нибудь документ должен быть уже загружен, например, через WebBrowser1.Navigate("about:blank");

Само собой, забыл упомянуть, спасибо..


 
Xenon   (2003-05-23 14:15) [4]

По поводу первого варианта:
1. что такое CheckDocReady(WebBrowser)?
2. Получаю Access violation at adddress ... в строке с HTMLDocument.Write(PSafeArray(TVarData(v).VArray));



 
xenon   (2003-05-23 14:24) [5]

Виноват :)
не сделал WebBrowser1.Navigate("about:blank");

всем спасибо


 
Мое имя   (2003-05-27 14:50) [6]

а типа бровзер.навигатэ("about:"+Memo.lines.text) не помогает?


 
Кен   (2003-06-01 03:42) [7]

А как загрузить текст не в сам браузер, а в один из фрэймов этого браузера ?


 
Dwemer   (2003-06-01 11:27) [8]

Когда загружаю текст (3м методом) полоса прокрутки остаются вверху и нижний текст не видно. Как мне прокрутить скрол вниз???


 
nikkie   (2003-06-01 13:51) [9]

Есть метод scrollIntoView у интерфейсов IHTMLElement и IHTMLTxtRange.

Если использовать первый, то надо найти в документе какой-нибудь таг (через IHTMLDocument2::get_body и дальше IHTMLElement::get_children).

Но такой подход сильно зависит от того, что пишется в документ и есть ли там вообще таги, за которые можно зацепиться. Поэтому я бы попробовал воспользовался IHTMLTxtRange.
1. вызвать IHTMLDocument2::get_body и запросить интерфейс IHTMLBodyElement
2. вызвать IHTMLBodyElement::createTextRange - запомнили начало и конец документа
3. дописать HTML методом write
4. вызвать IHTMLBodyElement::createTextRange - получили новые начало и конец документа
5. смещаем начало второго TxtRange на конец первого, используя IHTMLTxtRange::setEndPoint("StartToEnd", ...)
6. вызываем IHTMLTxtRange::scrollIntoView.



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
14-20804
VladmirES
2003-07-22 13:28
2003.08.07
Проаграммирование COM в Delphi.


14-20667
Dmitriy O.
2003-07-22 15:34
2003.08.07
Как можно вставить изображение в сылку на HTML страницу.


6-20652
Adventure
2003-05-30 13:13
2003.08.07
как сохранить загруженный рисунок в TWebBrowser на диске.


3-20445
Viktor
2003-07-16 10:21
2003.08.07
Печать Sql


6-20649
blackgrin
2003-06-02 02:16
2003.08.07
Connection Closed Gracefully?!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский