请问大家:如何用DELPHI从HTML表单中获取信息呢(100分)

  • 主题发起人 主题发起人 Imydelphi
  • 开始时间 开始时间
I

Imydelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
请问大家:如何用DELPHI从HTML表单中获取信息呢
 
写ASP组件
 
要的是纯粹的用delphi获取,我就是不知道用delphi怎么和HTML里输入的信息联系起来,我知道它是用一个叫
webActionIt对象,通过Request.ContentFields属性来访问收集到的数据的,但是我不知道它怎么
和网页相联系啊
 
在网页打写入
<#ieKSMC>


程序中在此事件下回写
procedure TwmMain.NewuserPageHTMLTag(Sender: TObject; Tag: TTag;
const TagString: string; TagParams: TStrings; var ReplaceText: string);
var
s: string;
i: integer;
begin
//当新增用户打开时,添加科室信息至页面.
S := '';
s := '<select NAME="KSMC"> <option selected>______________________</option>';

atDept.First;
for i := 0 to atDept.RecordCount - 1 do
begin
s := s + '<option value="' + atDept.FieldByName('DeptName').AsString +
'">' + atDept.FieldByName('DeptName').AsString + '</option>';
atDept.Next;
end;
s := s + '</select>';
if TagString = 'ieKSMC' then ReplaceText := s;
end;
 
可以WebBrowser控件来作.
用Navigate方法获得当前的网页后,定义一个IHTMLDocument2接口(在MSHTML有定义)
则 WebBrowser.document as IHTMLDocument2 返回当前网页的所有信息,然后在用
一个IHTMLElementcollection接口(在MSHTML有定义) 接受你所需要的信息.对于获得
的数据集可以用 接口IHTMLELEMENT来获得里面的元素.

例如: 获得当前页面所有的链接,
uses MSHTML, SHDocVw ....

implemention

//.......
var
doc:IHTMLDocument2;
all:IHTMLElementcollection;
item:IHTMLELEMENT;
theList:string;
URLNode:TTreeNode;
i:integer;
begin

doc := WebBrowser1.document as IHTMLDocument2; //IHTMLDocument2

all:=doc.links ; //IHTMLElementcollection

if not WebBrowser1.Busy then ShowMessage('Not Busy');
for i := 0 to all.length-1 do
begin
item:=all.item(i,varEmpty) as IHTMLELEMENT; //IHTMLELEMENT
ParentNode:=treeURL.Items.Add(URLNode,item.toString);
....
end;
end;
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1270408
看看这篇帖子不知道是否有帮助!
 
后退
顶部