加入收藏  广告服务  关于我们
 2003-9-17

快速网络开发WebSnap

发表:yyjj   阅读:次  关键字:不详   字体:[ ]


Delphi提供的WebSnap是一个包含许多VCL 的开发平台,通过这些组件的组合,你可以快速开发功能强大的Web 应用程序,WebSnap提供了三个向导(WebSnap Application ,WebSnap DataModule和 WebSnap PageModule),可以帮助你产生WebSnap应用程序,而不需要一个个的拖控件。
使用Web Snap有个地方要注意,就是Web Snap不承认数据库中中文的字段名,所以,建立数据库的时候应该避免使用中文字段名。
下面,我们通过一个实例来说明WebSnap的具体Web 设计方法。

一、建立平台:
File -> New -> Other ->WebSnap -> WebSnap Application

将产生New WebSnap Application对话框:
选择:Server Type -> Web App Debugger executable
(这是一种调试状态,完成后可以转换成需要的状态,比如CGI或者ISAPI等)
在Co Class Name : MyNewWeb
Application Module Components -> Page Module
Application Module Options -> Page Home : PHome (初始页的名字)


OK

产生一个Web 平台,上面有五个控件,你不需要对这五个控件做任何设置。

但可以把Form缩小,必要时加上识别文字。

必要时可进行试验:
保存,编译,运行(注册)
Tool -> Web App Debugger



stat -> 默认网址

Go

可以看到一个名字为P1的空的网页。

二、加入数据模块:

这个数据模块是整个网页系统公用的。

File -> New -> other -> Web Snap ->WebSnap DataModule



采用默认值OK。

这就产生了一个专门用于数据联接的窗口WebDataModuli3,在这么模块里,可以进行多种数据连接。

首先加入一个TADOTable,做好数据的连接。

在WebSnap页中,拖入一个DatasetAdapter

DatasetAdapter的属性Dataset=ADOTable1。
双击DatasetAdapter,出现WebDataModule3. DatasetAdapter1.Fields画面。
右键,选择Add All Filelds把字段名都加入进来。

三、加入第一个显示页

File -> New -> Other ->WebSnap -> Web Snap Page Moudle


Producer -> Type 选择 AdapterPageProducer
Page -> Name 输入 Psa1

产生一个新的页面,上面已经有一个控件AdapterPageProducer

但是,数据模块的数据并传递不到这个页面里面来,所以,现在要把Unit3单元User进来。

双击AdapterPageProducer出现处理画面。

右键,选择New Component.

加入一个ProducerForm

在ProducerForm上右键,选择New Component.

选择AdapterGrid以显示数据库表。


AdapterGrid属性Adapter= WebDataModuli3.Dataset Adapter1
请注意,如果不是把Unit3给User进来,这一项将无法显示,因此,如果无法显示的话,请检查一下是否进行了User。

在AdapterGrid右键,选择Add All Columns,把所有的行都加入进来。

这个页面就可以被显示了。

下面可以显示这个页面看看:


四、维护页面
如果数据需要修改,可以再加入一个维护页面,这个维护页面的作用是,把数据库的数据进行编辑,然后提交给数据库,同时转回显示页面。
用普通的方法加入一个新的页面,Type为AdapterPageProducer,Page Name取名为Aedit1。


同样,将出现一个Aedit1页面单元,和一个AdapterPageProducer。


为了连接数据,同样需要把Unit3给User进来。

双击AdapterPageProducer出现处理画面,处理方法同上。


加入一个AdapterForm

只是在AdapterForm内,现在要加入的项目变为AdapterFieldGroup。

AdapterFieldGroup的属性Adapter同样选为WebDataModuli3.Dataset Adapter1。

属性AdapterMode=Edit,使它处于编辑画面。

同样的方法,把字段都加入进来。

现在需要加入几个按钮来控制状态。在AdapterForm上右键,选择New Component。

选择AdapterCommandGroup

属性DisplayCompor= AdapterCommandGroup 这就实现了按钮和显示表的绑定。

选择Cancel ,Apply(提交), RefreshRow三个按钮。一个重要的地方是,Cancel ,Apply按钮的属性PageName要为Psa1,这样,“提交”或者“放弃”以后,页面自动返回Psa1。


现在希望在Psa1页面有针对每一行的导航按钮,这样,点任何一行都可以在Edit页显示该行的数据,所以现在要返回Psa1页面。

这些按钮要加在AdapteGrid上,所以现在要在AdapteGrid上右键,选择New Component。

选择AdapterCommandColumn。

这样可以看到,在每一行都增加了一组按钮。

不过这个题目只需要保留一个按钮EditRow。

注意,这个按钮的属性Pagename=AEdit1。
这样,就可以保证按下这个按钮以后,自动到航道AEdit1页,并且显示的刚好是选中的这一行的数据。

好了,现在可以保存,编译

看一下效果。我们可以发现提交的数据是修改过来了。


点第4行的按钮

可以看到刚好是显示第四行的数据

现在修改一下

点Apply(提交),可以看到数据是修改过来了。


五、做关联表,

下面讨论如何做关联表,还是在刚才的数据模块中做工作,并不需要新加入数据模块。
加入两个ADOTable,两个DataSetAdapter和一个DataSource控件。
两个ADOTable分别连上相应的主表和从表。

DataSource的属性Dataset=ADOTable2

ADOTable3的属性MasterSource=DataSource。
点选属性MasterFields,选择好关联字段。

DataSetAdapter2的属性DataSet=ADOTable2
DataSetAdapter3的属性DataSet=ADOTable3
MasterAdapter= DataSetAdapter2

这样关联的数据模块就算完成了。

现在加入新的一页。名字取为Pviwe。

新的页面同样需要把Unit3给User进来。



双击AdapterPageProducer加入一个AdapterForm。



再加入一个AdapterFieldGroup显示主表。

AdapterFieldGroup的属性Adapter选为WebDataModuli3.Dataset Adapter2。这样就可以显示主表了。



现在要加入一组导航按钮。在AdapterForm上右键,选择AdapterCommandGroup。


其属性DisplayCompor=AdapterFieldGroup1,这样就实现了和显示表的绑定。

画面上只保留FirstRow 、PievRow、 NextRow 、LastRow四个按钮。

现在做子表显示,希望子表是表格形式,做的方法前面说明的一样,这里不再重复。

好。实验一下,可以看出来关联是建立起来了。

六、对表格进行装饰

表格本身可以进行一般性的装饰,改变颜色和形态。另外,显示的字段名也可以用相应的Caption属性改成中文,此外按钮的文字也可以改成中文。只是不需要装饰画面,因为每一个页面都会生成一个模板页面,比如Unit4.htm,你可以用其它网页编辑软件(比如FrontPage)来装饰这个画面。页面的导航也可以用超级链接自己重新做,这些可以通过多试验来体会。



七、把调试模式转换成所需要的模式

上面使用的是调试模式,如何变成发布需要的CGI或者ISAPI模式呢?可以采用如下方法,首先把工程调进来。

Project -> Add New Project 加入一个新的项目。

选择Web Snap

根据需要,选择ISAPI或者CGI模式。给首页取适当的名字。

这样就出现了一个模块。

View -> Project Manager

除了Unit1(Form)和Unit2(框架)以外,把其它的Unit都拖入进来。

这里请注意一下顺序,因为将来显示页面的顺序是以这个顺序为标准的,这个例子有意把顺序倒过来了,可以看到效果。

保存,也可以把新的工程保存到其它的文件夹,不过保存到原来的文件夹似乎更加方便。项目的修改是关联的。

关闭当前全部内容。


再把Project2调入进来。

因为这是一个DLL项目,将会显示下面的画面。

编译。

好了,现在把做好的DLL文件拷贝到虚拟目录底下。

需要注意,网页画面是由模板文件保证的,所以,不要忘了把Unit4.htm、Unit5.htm、Unit6.htm、Unit7.htm都拷贝到虚拟目录下,否则将无法显示。

好了,现在打开IE浏览器,在地址栏中写上:http://127.0.0.1/asp/project2.dll(应该根据情况改变),看一下效果,这组文件是可以发布的。


好了,请你仔细研究一下这个例子,其实这个例子已经包括了Wab Snap绝大多数的内容,不过真要构造一个现实的网络管理系统,还需要做许多工作,积累大量的经验,程序设计,经验是十分重要的。

 热门文章
 推荐信息