论文部分内容阅读
【摘要】随着数据库网络化编程的广泛应用,C/S(Client/Server)编程的地位越来越重要。利用Delphi提供的网络套接字组件(Socket),可以轻松实现C/S系统的编程。
【关键词】C/S;Delphi;Socket
1.基于C/S的体系结构
利用Delphi提供的套接字组件(Socket)组件来实现一个C/S系统数据库的编程,核心组件是TServerSocket和TCientSokcet组件,这两个组件将分别处在两个窗体上——即客户机和服务器上,其中客户端程序将利用TClientSocket组件实现对服务器端数据的提交,而服务器端程序则通过利用TServerSocket组件对客户端程序发送的数据进行分析和验证,然后返回客户端一个成功信息。通过该程序,可以让数据库的修改操作驻留在客户机上进行,而对于数据则必须通过服务器端的验证才能通过。
2.C/S系统编程的基本步骤
本文需要建立两个工程,一个用于客户端程序用于数据输入,另一个用于服务器端作用数据存储。
1)新建一个工程,用来开发客户端程序,在客户端,需要用到一个数据源,其中主要包括一个公司的各种信息,包括Company、Address、Email、State、Country、Contact、Compid等字段,在进行程序开发前,需要建立这样的一个数据源。
2)在客户端程序程序中,注意Compid字段的值不是有用户添加的,需要通过服务器验证后由服务器端返回,所以在客户端程序中,改字段为不可操作状态,并注意在创建数据源时设置为可为空。
3)在客户端,组件的核心方法是在“发送所有数据”按钮的单击事件中处理的,在该事件中,需要用户添加的数据信息发送到服务器端,可以通过创建一个字符串对象来保存该信息,然后调用ClientSocket1空间的SendText方法将该信息发送出去,在该字符串列表中,所保存的数据信息是以”fieldname=fieldvalue”格式保存的。
4)在Actions上右击,在弹出的快捷菜单上选择“Add Item”命令,添加一个ActionItem,可以在ActionEditor中看到该对象的各种属性。在网络模块中,事件比较少,各种方法的实现都是基于ActionIcem来实现的,其中最重要的事件就是OnAction事件。
5)为了实现对访问次数的实时更新,需要记录下原来网页访问的次数,然后再网页每次打开时自动导入,在本程序中,将建立一个text文件对象,利用Writeln方法可以往其中写入浏览次数,当网页打开时,则利用Readln方法从文件中将原来的数据提取出来:
Logfilename:=’weblog.log’;
System.Assign(logfile,logfilename);
Try
If fileexists(logfilename)then
Begin
Reset(logfile);
Readln(logfile,nhit);
Inc(nhit);
End
Else
Nhit:=0;\
Rewrite(logfile);
Writeln(logfile,nhit);
Finally
Close(logfile);
End;
Response.content:=inttostr(nhit);
6)现在一般的网页计数器都采用图形来显示数据,通过建立一个TBitmap对象可以让程序绘制内存位图并返回给前端网页。让后将该位图附在TjpegImage对象上,在通过该对象将图片转换为流式对象,保存该流式文件对象,让后将它赋给Response对象,让后利用Response对象将该文件写入网页文件中。
7)保存该工程文件。为了看到实际效果,可以建立一个html文件,在该文件中,建立一个超链接,指向所开发的程序。在浏览器中浏览该文件并打开链接,就可以看到程序的最终结果。
3.结束语
总之,随着数据库网络化编程的越来越重要,C/S编程的地位在不断的提升,本文通过实例说明了C/S编程的实用性和可行性。
参考文献
[1]网冠科技.Delphi 5.0控件时尚编程百例[M].机械工业出版社,2001,07.
[2]刘艺.Delphi程序设计大学教程[M].机械工业出版社,2005,06.
作者简介:刘畅(1978—),现供职于吉林工商学院信息工程学院,研究方向:计算机网络。
【关键词】C/S;Delphi;Socket
1.基于C/S的体系结构
利用Delphi提供的套接字组件(Socket)组件来实现一个C/S系统数据库的编程,核心组件是TServerSocket和TCientSokcet组件,这两个组件将分别处在两个窗体上——即客户机和服务器上,其中客户端程序将利用TClientSocket组件实现对服务器端数据的提交,而服务器端程序则通过利用TServerSocket组件对客户端程序发送的数据进行分析和验证,然后返回客户端一个成功信息。通过该程序,可以让数据库的修改操作驻留在客户机上进行,而对于数据则必须通过服务器端的验证才能通过。
2.C/S系统编程的基本步骤
本文需要建立两个工程,一个用于客户端程序用于数据输入,另一个用于服务器端作用数据存储。
1)新建一个工程,用来开发客户端程序,在客户端,需要用到一个数据源,其中主要包括一个公司的各种信息,包括Company、Address、Email、State、Country、Contact、Compid等字段,在进行程序开发前,需要建立这样的一个数据源。
2)在客户端程序程序中,注意Compid字段的值不是有用户添加的,需要通过服务器验证后由服务器端返回,所以在客户端程序中,改字段为不可操作状态,并注意在创建数据源时设置为可为空。
3)在客户端,组件的核心方法是在“发送所有数据”按钮的单击事件中处理的,在该事件中,需要用户添加的数据信息发送到服务器端,可以通过创建一个字符串对象来保存该信息,然后调用ClientSocket1空间的SendText方法将该信息发送出去,在该字符串列表中,所保存的数据信息是以”fieldname=fieldvalue”格式保存的。
4)在Actions上右击,在弹出的快捷菜单上选择“Add Item”命令,添加一个ActionItem,可以在ActionEditor中看到该对象的各种属性。在网络模块中,事件比较少,各种方法的实现都是基于ActionIcem来实现的,其中最重要的事件就是OnAction事件。
5)为了实现对访问次数的实时更新,需要记录下原来网页访问的次数,然后再网页每次打开时自动导入,在本程序中,将建立一个text文件对象,利用Writeln方法可以往其中写入浏览次数,当网页打开时,则利用Readln方法从文件中将原来的数据提取出来:
Logfilename:=’weblog.log’;
System.Assign(logfile,logfilename);
Try
If fileexists(logfilename)then
Begin
Reset(logfile);
Readln(logfile,nhit);
Inc(nhit);
End
Else
Nhit:=0;\
Rewrite(logfile);
Writeln(logfile,nhit);
Finally
Close(logfile);
End;
Response.content:=inttostr(nhit);
6)现在一般的网页计数器都采用图形来显示数据,通过建立一个TBitmap对象可以让程序绘制内存位图并返回给前端网页。让后将该位图附在TjpegImage对象上,在通过该对象将图片转换为流式对象,保存该流式文件对象,让后将它赋给Response对象,让后利用Response对象将该文件写入网页文件中。
7)保存该工程文件。为了看到实际效果,可以建立一个html文件,在该文件中,建立一个超链接,指向所开发的程序。在浏览器中浏览该文件并打开链接,就可以看到程序的最终结果。
3.结束语
总之,随着数据库网络化编程的越来越重要,C/S编程的地位在不断的提升,本文通过实例说明了C/S编程的实用性和可行性。
参考文献
[1]网冠科技.Delphi 5.0控件时尚编程百例[M].机械工业出版社,2001,07.
[2]刘艺.Delphi程序设计大学教程[M].机械工业出版社,2005,06.
作者简介:刘畅(1978—),现供职于吉林工商学院信息工程学院,研究方向:计算机网络。