在Delphi中实现ASP编程
[作者]:菩提树下的杨过 [来源]:互联网 [收录时间]:2007-8-1 20:29:04
<p><br />   众所周知,<a class="link_keyword" href="http://www.qqread.com/keywords/asp.html" target="_blank">asp</a>技术是我们在以internet/intranet为平台的web程序的主要技术,在asp应用程序中我们一般使用vbscripts和javascripts两种脚本语言。<table border="0" align="left" class=ppc_download_ad_frame cellspacing=0 cellpadding=0 width="1%" style="margin-top:10px;margin-right:7px;margin-bottom:3px;margin-left:0px"> <tr> <td id=a><img height=9 width=9></td> <td id=b width="100%"><img height=1 width=1></td> <td id=c><img height=9 width=9></td> </tr> <tr> <td id=d><img height=1 width=1></td> <td id=e valign=top height="100%"><!-- frame contents --> <table cellspacing=0 cellpadding=0 border=0> <tr> <td><div id="w_hzh"></div></td> </tr> </table> <!-- /frame contents --></td> <td id=f><img height=1 width=1></td> </tr> <tr> <td id=g><img height=9 width=9></td> <td id=h><img height=1 width=1></td> <td id=i><img height=9 width=9></td> </tr> </table>但是脚本语言是一种非编译的语言,其所开发的web程序存在先天的安全性、执行效率扩张性方面的问题,因此我们一般在开发web系统时用高级语言编写asp执行体,然后用脚本语言作为连接代码去调用asp执行体执行存取。在这方面由于asp技术是微软推出的,因此我们一般利用vb或<a class="link_keyword" href="http://www.qqread.com/keywords/vc.html" target="_blank">vc</a>,那么<a class="link_keyword" href="http://www.qqread.com/keywords/delphi.html" target="_blank">delphi</a>程序员又如何实现呢? <br /> <br />   在这方面笔者最近通过inrpisre的资料,实现了在delphi环境中实现asp技术的web编程,现以一个介绍如下: <br /> <br />   1、在delphi环境中建立一个新的acdivex dll项目project1,然后通过delphi的active server object建立一个asp对象,在他的coclassname中填入所建立对象的名字myaspobject. <br /> <br />   2、通过type library为刚建立的myaspobject对象建立一个将要被脚本语言调用的方法myasprequest. <br /> <br />   3、由于刚才所建立的asp对象是从taspobject继承的,应此我们在方法建立中可以直接使用asp对象,现在为我们建立的asp对象填写代码如下: <br /> <br />   produce tmyaspobject.myasprequest; <br /> <br />   begin <br /> <br />    repsonse.write('<p>您的姓名是:'); <br /> <br />    repsonse.write(request.form.item['name']); <br /> <br />    repsonse.write('</p>');//从所要建立的网页中读出用户名// <br /> <br />    repsonse.write('<p>您的工作是:'); <br /> <br />    repsonse.write(request.form.item['work']); <br /> <br />    repsonse.write('</p>');//从所要建立的网页中读出用户工作// <br /> <br />    repsonse.write('<p>您用的开发工具:'); <br /> <br />    if(request.form.item['delphi'].count>0) <br /> <br />    repsonse.write('delphi'); <br /> <br />    if(request.form.item['bcb'].count>0) <br /> <br />    repsonse.write('c++ builder');//判断用户所用的开发工具// <br /> <br />    repsonse.write('</p>'); <br /> <br />    repsonse.write('<p>您的身份:'); <br /> <br />    repsonse.write(request.form.item['identity']); <br /> <br />    repsonse.write('</p>');//读出用户的身份// <br /> <br />    end; <br /> <br />   4、对程序进行编译并在delphi中进行注册为pmyaspobject.dll文件。 <br /> <br />   5、编写用于连接的asp脚本语言文件myasp.asp <br /> <br />   &lt;%@language=jscript %&gt; <br /> <br />   <html> <br /> <br />   <body> <br /> <br />   <title>这是一个用delphi建立的asp对象</title> <br /> <br />   <center><h3>你填的内容如下</h3></center> <br /> <br />   &lt;% <br /> <br />    var myasp; <br /> <br />    myasp=server.createobject(pmyaspobject.myaspobject); <br /> <br />    //生成连接对象// <br /> <br />    myasp.myasprequest();//调用自己定义的asp对象// <br /> <br />   %&gt; <br /> <br />   </body> <br /> <br />   </html> <br /> <br />   6、建立用于显示的网页myhtm.htm <br /> <br />   <form action='localhost/shd/myasp.asp' method='post"> <br /> <br />   <h1 align='center">请选择</h1> <br /> <br />   <p>姓名:<input type='text' size=33 name="name"></p> <br /> <br />   <p>工作:<input type='text' size=33 name="work"></p> <br /> <br />   <p>开发工具:<input type='checkbox' name='delphi' value="on">delphi <br /> <br />   <input type='checkbox'name='bcb'value="on">c++ builder</p> <br /> <br />   <p>您的身份:</p> <br /> <br />   <p><select name="identity" size="1"> <br /> <br />    <option>学生</option> <br /> <br />    <option>技术人员</option> <br /> <br />    </select></p> <br /> <br />   <p><input type="submit" name="mysubmit" value="递交"> <br /> <br />   </form> <br /> <br />   7、然后把myhtm.htm和myasp.asp放在个人的<a class="link_keyword" href="http://www.qqread.com/z/server/seting/web.html" target="_blank">web服务器</a>中的shd目录下即可浏览测试。</p> </div> </div>