顶级高手看过来!(100分)

  • 主题发起人 主题发起人 lb415
  • 开始时间 开始时间
L

lb415

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用WebBrowser控件将下载的html文件转换成txt文件!
 
把源代码读到memo,然后savetofile。
 
这是读源码!

unit Unit1;

interface

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

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate('http://202.114.98.12/book/');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
all:IHTMLElementcollection;
doc:IHTMLDocument2;
item:OleVariant;
begin
doc:=webbrowser1.document as ihtmldocument2;
all:=doc.all;
item:=all.item(0,varEmpty);
Memo1.Clear;
memo1.Lines.Add(item.innerhtml);//item.innerhtml就是源文件内容
end;

end.

 
lb415 是想把webBrowser显示的文字部分保存出来吧,而不是html源文件
 
不是有好多这种工具了吗?还编什么?
 
很简单吗?
 
正如elan所说,我想把webBrowser显示的文字部分保存出来吧,而不是html源文件。
用ExecWB函数似乎可以实现此功能,
procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT;
var pvaIn: OleVariant; var pvaOut: OleVariant); overload;
cmdID=OLECMDID_SAVEAS; cmdexecopt=OLECMDEXECOPT_DONTPROMPTUSER;
但是本人对COM对象不太熟悉,不知道后两个参数应如何设置各位。
请各位高手们指点!
 
curweb.ExecWB(OLECMDID_SELECTALL,0);//全部选中
curweb.setfocus;
curweb.ExecWB(OLECMDID_COPY,0);//复制

这时取得剪粘板中内容就都是文本的了。
 
为什么一定要用TWEBBROWSER呢?用TNMHTTP的get方法,不是很容易实现吗?
 
多人接受答案了。
 
后退
顶部