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

Вниз

Как сгенерить 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
8-1088624004
Gorilka
2004-06-30 23:33
2004.09.26
Из *.mid в *.mp3 или *.cda


14-1094326705
Knight
2004-09-04 23:38
2004.09.26
Есть функция для перекодировки русской темы письма...


1-1094816889
Still Swamp
2004-09-10 15:48
2004.09.26
Вызов внешнего редактора HTML


1-1094581005
XAdmin
2004-09-07 22:16
2004.09.26
Использование ZipTV


14-1094817750
nick-from
2004-09-10 16:02
2004.09.26
Outlook express





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