如何在Delphi中实现ASP编程
(作者:孙航东 2000年12月07日 10:01)
众所周知,ASP技术是我们在以internet/intranet为平台的web程序的主要技术,在asp应用程序中我们一般使用vbscripts和javascripts两种脚本语言。但是脚本语言是一种非编译的语言,其所开发的web程序存在先天的安全性、执行效率扩张性方面的问题,因此我们一般在开发web系统时用高级语言编写asp执行体,然后用脚本语言作为连接代码去调用asp执行体执行存取。在这方面由于asp技术是微软推出的,因此我们一般利用vb或vc,那么delphi程序员又如何实现呢?
在这方面笔者最近通过inrpisre的资料,实现了在delphi环境中实现asp技术的web编程,现以一个介绍如下:
1、在delphi环境中建立一个新的acdiveX DLL项目Project1,然后通过delphi的Active Server Object建立一个ASP对象,在他的coClassName中填入所建立对象的名字MyAspObject.
2、通过type Library为刚建立的MyAspObject对象建立一个将要被脚本语言调用的方法MyAspRequest.
3、由于刚才所建立的ASP对象是从TASPObject继承的,应此我们在方法建立中可以直接使用asp对象,现在为我们建立的Asp对象填写代码如下:
produce TMyAspObject.MyAspRequest;
begin
repsonse.write(<p>您的姓名是:);
repsonse.write(request.form.item[Name]);
repsonse.write(</p>);//从所要建立的网页中读出用户名//
repsonse.write(<p>您的工作是:);
repsonse.write(request.form.item[work]);
repsonse.write(</p>);//从所要建立的网页中读出用户工作//
repsonse.write(<p>您用的开发工具:);
if(request.form.item[delphi].count>0)
repsonse.write(delphi);
if(request.form.item[bcb].count>0)
repsonse.write(c++ Builder);//判断用户所用的开发工具//
repsonse.write(</p>);
repsonse.write(<p>您的身份:);
repsonse.write(request.form.item[Identity]);
repsonse.write(</p>);//读出用户的身份//
end;
4、对程序进行编译并在delphi中进行注册为PMyAspObject.dll文件。
5、编写用于连接的ASP脚本语言文件MyAsp.asp
<%@language=jscript %>
<HTML>
<BODY>
<title>这是一个用delphi建立的ASP对象</title>
<center><h3>你填的内容如下</h3></center>
<%
var myasp;
myasp=server.createobject(PMyAspObject.MyAspObject);
//生成连接对象//
myasp.MyAspRequest();//调用自己定义的ASP对象//
%>
</body>
</HTML>
6、建立用于显示的网页Myhtm.htm
<form action=localHost/shd/myasp.asp method=post>
<h1 align=center>请选择</h1>
<P>姓名:<input type=text size=33 name=name></p>
<P>工作:<input type=text size=33 name=work></p>
<P>开发工具:<input type=checkbox name=delphi value=on>delphi
<input type=checkboxname=bcbvalue=on>c++ Builder</p>
<p>您的身份:</p>
<p><select name=identity size=1>
<option>学生</option>
<option>技术人员</option>
</select></p>
<p><input type=submit name=mysubmit value=递交>
</form>
7、然后把Myhtm.htm和myasp.asp放在个人的web服务器中的shd目录下即可浏览测试。
网页效果图
ASP效果图
以上程序的pwin98 ME和delphi5.0 Enterprise中实现。
Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论