如何在Delphi中实现ASP编程
众所周知,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目录下即可浏览测试。
本文地址:http://com.8s8s.com/it/it5962.htm