在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=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目錄下即可浏覽測試。