![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Имеется TStringList текста и надо установить его в TWebBrowser, думаю свойство Document, но не знаю как его использовать (IDispatch). Обьясните как сделать именно так, есть вариант сначало сохранить в файл и потом
Код:
WebBrowser1.Navigate(/file.htm) |
|
#2
|
|||
|
|||
|
Код:
var List : TStringList;
begin
List:= TStringList.Create;
< Присвоение строк (если это необходимо) >
List.SaveToFile('temp.html');
WebBrowser1.Navigate(ExtractFilePath(ParamStr(0)) + 'temp.html');
DeleteFile('temp.html');
end; |
|
#3
|
|||
|
|||
|
Код:
// 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
|
||||
|
||||
|
BloodFooria: мне такой метод не нравится (но за помощь спасибо)
lmikle: огромное спасибо, форуму и вам + + и ещё раз + хотел бы добавить таким же новичкам как я что в юзы (uses) нужно добавить MSHTML, ActiveX Последний раз редактировалось AleD, 04.04.2009 в 05:49. |