Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.04.2009, 18:29
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию WebBrowser.Document - установить текст

Имеется TStringList текста и надо установить его в TWebBrowser, думаю свойство Document, но не знаю как его использовать (IDispatch). Обьясните как сделать именно так, есть вариант сначало сохранить в файл и потом
Код:
WebBrowser1.Navigate(/file.htm)
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;
Ответить с цитированием
  #2  
Старый 03.04.2009, 19:17
BloodFooria BloodFooria вне форума
Новичок
 
Регистрация: 30.10.2008
Адрес: Улан-Удэ
Сообщения: 81
Репутация: 10
По умолчанию

Код:
var List : TStringList;
begin
  List:= TStringList.Create;
  < Присвоение строк (если это необходимо) >
  List.SaveToFile('temp.html');
  WebBrowser1.Navigate(ExtractFilePath(ParamStr(0)) + 'temp.html');
  DeleteFile('temp.html');
end;
__________________
Auta i Lome...
Ответить с цитированием
  #3  
Старый 03.04.2009, 19:23
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
// AText -  страничка в виде строки (TStringList.Text)
procedure TPreviewForm.ShowHTML(AText: String);
var
  Document: IHTMLDocument2;
  Element : IHTMLElement;
  V: OleVariant;
begin
  // Документ необходимо создать только один раз за текущую сессию работы
  If WB.Document = Nil Then WB.Navigate('about:blank');

  // Ожидаем создания документа и позволяем обрабатывать все сообщения
  While WB.Document = Nil Do
    Application.ProcessMessages;
  Document := WB.Document As IHtmlDocument2;

  // Вставляем текст (до 2Гб)
  {следующие строчки внесены недавно - старый вариант функции не работал под XP}
  V := VarArrayCreate([0, 0], varVariant);
  V[0] := AText;
  Document.Write(PSafeArray(TVarData(v).VArray));
  Document.Close;

  // Remove border
  Element := Document.Body;
  If Element <> Nil Then
    Begin
      Element.Style.BorderStyle := 'none';
    End;
end;
Ответить с цитированием
  #4  
Старый 04.04.2009, 05:46
Аватар для AleD
AleD AleD вне форума
Активный
 
Регистрация: 21.02.2009
Адрес: г.Краснокаменск
Сообщения: 383
Репутация: 91
По умолчанию

BloodFooria: мне такой метод не нравится (но за помощь спасибо)
lmikle: огромное спасибо, форуму и вам + + и ещё раз +

хотел бы добавить таким же новичкам как я что в юзы (uses) нужно добавить MSHTML, ActiveX
__________________
TAleD = class(TUser)
public
function HelpMe(ASubject, ARequest: String): String;
function GiveMeExample(ASubject: String): TStringList;
procedure WriteReview(APost: Integer; ADescription: TStringList);
end;

Последний раз редактировалось AleD, 04.04.2009 в 05:49.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025