众所周知,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=''checkbox''name=''bcb''value="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目录下即可浏览测试。