仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 667|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页设计用Delphi开辟ASP分页组件

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:58:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;分页因为Delphi在开辟数据库使用体系中具有的壮大的功效和极高的效力,以是笔者开辟ASP组件较经常使用的是Delphi5.0(固然也可接纳VisualBasic或VC++开辟ASP组件),Delphi自己在Internet和InternetExpress两个组件面板供应了浩瀚的组件能够间接天生Web页面,可是这些组件都短少网页中数据显现罕见的分页功效。尽人皆知,ASP是经由过程创建ADO毗连数据库后创建RecordSet工具,然后使用RecordSet的AbsolutePage举行页面定位,而在Delphi5.0中,已供应了ADO组件封装了Microsoft的ADO库,以是一样具有页面定位功效。上面笔者将分步来开辟一个通用的显现分页Web页面的ASP组件。

第一步:新建一个ActivexLibrary,定名为PadoPage,然后再新建一个ActiveServerObjectClass,定名为AdoPage,即创建了一个名为AdoPage的ASP组件,文件定名为Adopage.pas。

第二步:翻开TypeLibrary,新建一个办法Get_Page,然后在Get_Page到场一个参数Pconnandsgl,用于传送数据库毗连语句和SQL语句,参数选择为BSTR范例。

第三步:新建一个DataModule,放进Adoconnection组件和AdoQuery组件,将DataModule定名为AdoDataModule。因为新创建的组件中的办法Get_Page要从DataModule中获得数据,以是需在Adopage.pas的Uses子句中到场AdoDataModule,然后声明一个数据模块的变量fadodm,同时到场Initialize和Destroy这两个办法,以便在ASP组作中天生数据模块。Adopage.pas详细代码以下所示:

unitAdopage;

interface

uses

ComObj,SysUtils,Classes,ActiveX,AspTlb,Pbasedata_TLB,StdVcl,AdoDataModule;

//将AdoDataModule到场USE子句

type

TAdopage=class(TASPObject,Ibasedata)

private

fadodm:TAdoDataModuleform;

protected

procedureOnEndPage;safecall;

procedureOnStartPage(constAScriptingContext:IUnknown);safecall;

procedureget_page(constpconnandsql:WideString);safecall;

public

procedureinitialize;override;

destructordestroy;override;

end;

implementation

usesComServ,forms;

destructorTadopage.destroy;

begin

inherited;

fadodm.Destroy;

end;

procedureTadopage.initialize;

begin

inherited;

fadodm:=tadodmform.Create(forms.application);

end;

第四步:创建通用的分页显现数据的办法get_page,详细代码以下:

procedureTadopage.get_page(constpconnandsql:WideString);

vari,j,n:integer;

connstr,sqlstr:widestring;

rs:_recordset;

cur_url:widestring;

page_no:integer;

begin

//起首从传送过去的参数平分别掏出毗连串和SQL语句

pconnandsql:=uppercase(pconnandsql);

i:=pos(CONNSTR,pconnandsql);

j:=pos(SQLSTR,pconnandsql);

ifi=0orj=0then

begin

response.write(数据库毗连串或SQL语句毛病!);

abort;
</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-20 06:49:33 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
若天明 该用户已被删除
板凳
发表于 2015-1-25 12:34:11 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
变相怪杰 该用户已被删除
地板
发表于 2015-1-29 16:05:40 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
海妖 该用户已被删除
5#
发表于 2015-2-6 02:42:47 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
老尸 该用户已被删除
6#
发表于 2015-2-15 03:52:22 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
透明 该用户已被删除
7#
发表于 2015-3-4 11:10:27 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
谁可相欹 该用户已被删除
8#
发表于 2015-3-19 07:33:41 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
admin 该用户已被删除
9#
发表于 2015-3-27 13:38:48 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表