现在又有了一个新问题,如何来控制html中的java applet
解决方案 »
- MainMenu1,PageControl1和ImageList1有冲突
- 如何取GRID或ADO中一个字段的多个值,
- RBuilder报表控件问题
- 两台机子同时往数据库里写数据报错怎么解决
- 有关combobox中的hint问题(最近问得多,么分了,可以再加分)
- 困扰很久的问题 类中定义的放保护字里面和外面的函数有什么区别?
- 手机彩信开发须知?????????????????????????
- 请懂C语言的Delphi程序员请进.
- 阻止程序二次运行
- SQL Server7中能否用varchar替代nvarchar?以后会不会出问题?
- 求助,如何编写程序把一个始终抢占前台的程序最小化。
- 如果让一个应用最小化?最小化触发什么事件?
读入原码可以传入URL,
或者是把原码放在内存里,但是内容不能太多,
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i:integer;
item:OleVariant;
begin
doc:=WebBrowser1 .Document as IHTMLDocument2;
all:=doc.Get_links; //doc.Links亦可
len:=all.length;
for i:=0 to len-1 do begin
item:=all.item(i,varempty); //EmpryParam亦可
memo1.lines.add(item.href);
end;
end;
doc.applets
//操作各自对象
doc: ihtmldocument2;
all:IHTMLElementCollection;
len,i:integer;
item:OleVariant;
begin
doc:= (webbrowser1.document) as ihtmldocument2;
all:=doc.forms;//doc.Links亦可
len:=all.length;
for i:=0 to len-1 do begin
item:=all.item(i,varempty);//EmpryParam亦可
memo1.lines.add(item.name);
end;
end;同理.获得表单名称,无name属性为空!
const
BufSize = $10000;
var
Size: Int64;
Stream: IStream;
hHTMLText: HGLOBAL;
psi: IPersistStreamInit;
begin
if not Assigned(WebBrowser.Document) then Exit;
OleCheck(WebBrowser.Document.QueryInterface (IPersistStreamInit, psi));
try
//OleCheck(psi.GetSizeMax(Size));
hHTMLText := GlobalAlloc(GPTR, BufSize);
if 0 = hHTMLText then RaiseLastWin32Error;
OleCheck(CreateStreamOnHGlobal(hHTMLText, True, Stream));
try
OleCheck(psi.Save(Stream, False));
Size := StrLen(PChar(hHTMLText));
SetLength(Result, Size);
CopyMemory(PChar(Result), Pointer(hHTMLText), Size);
finally
Stream := nil;
end;
finally
psi := nil;
end;
end;Procedure Tform1.SetHtml(Const WebBrowser:TWebBrowser; Const Html: String);
Var
Stream : IStream;
hHTMLText : HGLOBAL;
psi : IPersistStreamInit;
Begin
If Not Assigned(WebBrowser.Document) Then Exit; hHTMLText := GlobalAlloc(GPTR, Length(Html) + 1);
If 0 = hHTMLText Then RaiseLastWin32Error; CopyMemory(Pointer(hHTMLText),
PChar(Html), Length(Html)); OleCheck(CreateStreamOnHGlobal
(hHTMLText, True, Stream));
Try
OleCheck(WebBrowser.Document.
QueryInterface(IPersistStreamInit, psi));
Try
OleCheck(psi.InitNew);
OleCheck(psi.Load(Stream));
Finally
psi := Nil;
End;
Finally
Stream := Nil;
End;
End;