你看看这个可不可以procedure TDelphiBand.filldocument; var m:tmemorystream; s2:string; begin load_from_file2; Button4Click(); fill(memo1.text,s2); memo1.text:=s2; M := TMemoryStream.Create; memo1.Lines.SaveToStream(M); M.seek(0, 0); if not Assigned(ie.document) then begin NavigateFromBand('about:blank'); while ie.readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages; end; (ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M)); end;
TempStr:=LowerCase(Copy(EditAddress.Text,0,7)); StatusBar1.Panels[0].Text:=TempStr; if StrComp(Pchar(TempStr),Pchar('http://'))=0 then WebBrowser1.Navigate(pchar(EditAddress.Text)) else begin TempStr:=Path+EditAddress.Text+'.htm'; WebBrowser1.Navigate(pchar(TempStr)); end;
这个函数中间不是有个memo1吗??? 你把函数中的ie换成webbrowser1就行了。webbrowser不能直接读string,必须先转成memorystream。 这个东东(http://www.skycn.com/down.php?id=4627)就是这么做的。procedure TDelphiBand.filldocument; var m:tmemorystream; s2:string; begin load_from_file2; Button4Click(); fill(memo1.text,s2); memo1.text:=s2; M := TMemoryStream.Create; memo1.Lines.SaveToStream(M); M.seek(0, 0); if not Assigned(ie.document) then begin NavigateFromBand('about:blank'); while ie.readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages; end; (ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M)); end;
我就是这样可是怎么调试不过。 这是什么 fill(memo1.text,s2) 还有NavigateFromBand('about:blank')、(ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M)); 都不能编译过。 本人初涉DELPHI请多多指点
var
m:tmemorystream;
s2:string;
begin
load_from_file2;
Button4Click();
fill(memo1.text,s2);
memo1.text:=s2;
M := TMemoryStream.Create;
memo1.Lines.SaveToStream(M);
M.seek(0, 0);
if not Assigned(ie.document) then begin
NavigateFromBand('about:blank');
while ie.readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;
end;
(ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M));
end;
TempStr:=LowerCase(Copy(EditAddress.Text,0,7));
StatusBar1.Panels[0].Text:=TempStr;
if StrComp(Pchar(TempStr),Pchar('http://'))=0 then
WebBrowser1.Navigate(pchar(EditAddress.Text))
else
begin
TempStr:=Path+EditAddress.Text+'.htm';
WebBrowser1.Navigate(pchar(TempStr));
end;
比如,我在MEMO中有一HTML源文档要让它显示在WEBBROWSER中,该如何显示
你把函数中的ie换成webbrowser1就行了。webbrowser不能直接读string,必须先转成memorystream。
这个东东(http://www.skycn.com/down.php?id=4627)就是这么做的。procedure TDelphiBand.filldocument;
var
m:tmemorystream;
s2:string;
begin
load_from_file2;
Button4Click();
fill(memo1.text,s2);
memo1.text:=s2;
M := TMemoryStream.Create;
memo1.Lines.SaveToStream(M);
M.seek(0, 0);
if not Assigned(ie.document) then begin
NavigateFromBand('about:blank');
while ie.readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;
end;
(ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M));
end;
这是什么 fill(memo1.text,s2)
还有NavigateFromBand('about:blank')、(ie.Document as IPersistStreamInit).Load(TStreamadapter.Create(M));
都不能编译过。
本人初涉DELPHI请多多指点
你把fill(memo1.text,s2)去掉,再把navigatefromband换成ie.navigate('about:blank'),后面这句需导入微软ie的activex控件。
如果你对ie编程不熟悉的话,可先看看这篇文章。
http://go8.163.com/~aton/delphi/res/web.htm顺便问一下,你要这个功能想用来做什么?
比如在控件上打入邮箱或网址可以实现超链接(如outlook)我总是做不起来,是不是我选的控件不对,我又在ACTIVEX中安装了一个IE5的DHTMLSafe1和DHTMLEdit1控件可也达不到这样的效果,我该怎么做才对,WEBBROWSER可以手工输入文字吗?我真是快急死了.急切等待您的回复.