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

Вниз

Как сгенерить html-страницу и поместить ее в TWebBrowser?   Найти похожие ветки 

 
Лев Ландау   (2004-07-19 02:48) [0]

Вопрос такай:
=============
"
у меня есть некая строковая переменная, которая содержит html-код      страницы, как сгенерить ее в окошке TWebBrowser-а ?
"
з.ы. огромное спасибо всем ответившим!


 
Rouse_ ©   (2004-07-19 09:31) [1]

http://www.swissdelphicenter.ch/en/showcode.php?id=2148


 
Rouse_ ©   (2004-07-19 09:35) [2]

Вот еще как вариант:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, OleCtrls, SHDocVw, mshtml, ActiveX, StdCtrls, Menus, ExtCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   PopupMenu1: TPopupMenu;
   gsdfg1: TMenuItem;
   wtwertwert1: TMenuItem;
   wertwert1: TMenuItem;
   wertwe1: TMenuItem;
   wertwe2: TMenuItem;
   Button3: TButton;
   Button4: TButton;
   WebBrowser1: TWebBrowser;
   Memo1: TMemo;
   procedure Button1Click(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure WebBrowser1BeforeNavigate2(Sender: TObject;
     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
     Headers: OleVariant; var Cancel: WordBool);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Document: IHtmlDocument2;
 V: Variant;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 V[0] :="<strong><a href="Новая строка"> Новая</a> срока</strong><br>";
 Document.Writeln(PSafeArray(TVarData(v).VArray));
 WebBrowser1.OleObject.Document.parentWindow.scroll(0,10000000);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Document.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Document.close;
 V[0] :="<BODY><strong><font color="#8000FF">Текст очищен</font></strong><br></BODY></HTML>";
 Document.Writeln(PSafeArray(TVarData(v).VArray));
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 f:TextFile;
 tmp, tmp1:String;
 col:char;
begin
 AssignFile(f,"C:\NewZool\Logs\#Main.log");
 Reset(f);

 while not EOF(f) do
 begin
   Readln(f,tmp);
   if tmp <> "" then
   begin
   col := tmp[1];
   delete(tmp,1,1);
   tmp := StringReplace(tmp,"<","<",[rfReplaceAll]);
   tmp := StringReplace(tmp,";)","<IMG src="C:\Programm\Pictures\Smiles\icon_wink.gif">",[rfReplaceAll]);
   tmp := StringReplace(tmp,":)","<IMG src="C:\Programm\Pictures\Smiles\icon_biggrin.gif">",[rfReplaceAll]);
   tmp := StringReplace(tmp,":(","<IMG src="C:\Programm\Pictures\Smiles\icon_cry.gif">",[rfReplaceAll]);
   tmp := StringReplace(tmp,"(","",[rfReplaceAll]);
   tmp := StringReplace(tmp,")","",[rfReplaceAll]);

   case col of
     "&": tmp1 :=tmp1+"<strong>"+tmp+"</strong><br>";
     "#": tmp1 :=tmp1+"<strong><font color="#8000FF">"+tmp+"</font></strong><br>";
     "*": tmp1 :=tmp1+"<strong><font color="#8FA0FF">"+tmp+"</font></strong><br>";
   end;
 end
 else
   tmp := tmp+ " <br>";
 end;
 V[0] := tmp1;
 Document.Writeln(PSafeArray(TVarData(v).VArray));
 //V[0] := "";
 WebBrowser1.OleObject.Document.parentWindow.scroll(0,10000000);
 CloseFile(f);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 V[0] :="<IMG src="C:\Programm\Pictures\Smiles\icon_cry.gif">";
 Document.Writeln(PSafeArray(TVarData(v).VArray));
 WebBrowser1.OleObject.Document.parentWindow.scroll(0,10000000);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 WebBrowser1.Navigate("about:blank");
 while WebBrowser1.Document = nil do
   Application.ProcessMessages;
 Document := WebBrowser1.Document as IHtmlDocument2;
 V := VarArrayCreate([0, 0], varVariant);
 V[0] :="<HTML><HEAD><TITLE></TITLE><style>a,a:visited{text-decoration: none;"+
 "FONT-WEIGHT: bold; color: #003388;}a:hover{color: #0066FF}</style></HEAD>"+
   "<BODY><strong><font face="MS Sans Serif"><font size=1.5><font color="#FF00FF">Test</font></strong><br></BODY></HTML>";
 Document.Writeln(PSafeArray(TVarData(v).VArray));
end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
var
 S: String;
begin
 if url <> "about:blank" then
 begin
   Cancel := True;
   Url := StringReplace(url, "%20", " ", [rfIgnoreCase]);
   S:= Copy(url, Length(Url) - 10, Length(Url));
   if S <> "about:blank" then
     Memo1.Text := Memo1.Text + Copy(url, 12, Length(url))
   else
     Memo1.Text := Memo1.Text + Copy(url, 12, Length(url) - 24);
 end;
end;

end.


 
Sky   (2004-07-19 12:18) [3]

Выгружаешь содержимое переменной в temp"овый текстовый файл и грузишь его в TWebBrowser. После файл убиваешь (или оставляешь как кеш).


 
Polevi ©   (2004-07-19 12:26) [4]

procedure LoadHtml(html:string)
var
 ss:TStringStream;
begin
 ss:=TStringStream.Create(html);
 try
   (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ss));
 finally
   ss.Free;
 end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.069 c
1-1094633769
Jay
2004-09-08 12:56
2004.09.26
MainMenu


3-1093507041
Crazy_Student
2004-08-26 11:57
2004.09.26
Связка Delphi+Oracle


1-1094631070
galan
2004-09-08 12:11
2004.09.26
Свойства текста в THintWindow?


3-1093546916
mouse_web
2004-08-26 23:01
2004.09.26
Обновление Query после закрытия QuickReport


6-1089846891
_Demik_
2004-07-15 03:14
2004.09.26
-= Поток медиа данных микрофона в нет или голосовой чат =-