- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通达学院
2013/2014学年 第二学期
软件设计 实验报告
专 业 Delphi软件设计
学 生 班 级 110023
学 生 学 号
学 生 姓 名 孙敏杰
指 导 教 师 汪胡青
设计题目
1、熟悉软件
2、文件浏览
3、网络聊天室
4、编写动态链接库
5、综合应用程序设计
(填写内容字体为宋体小四)
任务要求
1、熟悉Delphi中Menu,Label,
Button,Edit等常用控件的用法,能够编写简单的界面程序。
2、熟悉TreeView,OpenDialog等控件的用法,并能够熟练应用。
3、通信程序设计可行,程序中可以设置远程计算机的IP地址和端口号,掌握程序中用到的各个组件的常用属性。
4、理解动态链接库的含义,掌握在程序中引用动态链接库的方法,并能够熟练编写自己的动态链接库。
5、熟悉Delphi中数据库操作的相关控件用法,掌握Delphi数据库编程的一般步骤,查找条件不能单一。(填写内容字体为宋体小四)
实验设备及软件
硬件:个人计算机;
软件:Delphi
(填写内容字体为宋体小四)
同组人员学号及姓名 孙敏杰 (填写内容字体为宋体小四)
参考文献
康祥顺,张小刚.Delphi案例开发集锦.电子工业出版社 2005
王沛.delphi编程入门篇.机械工业出版社 2006
3、钟军,汪晓平.delphi 网络通信协议分析与应用实现.人民邮电出版社,2003
4、池雅庆,贾小敏.delphi数据库应用项目开发实践.人民邮电出版社,2006
5、杨华民,梁水,李方超.Delphi函数参考大全.人民邮电出版社,2006
6、张世明.Delphi程序设计基础:教程、实验、习题.电子工业出版社,2010
(填写内容字体为宋体小四)
网络聊天室
实验操作
利用Delphi自带的TCPCLIENT组件和TCPSERVER组件,编写了一个简易的网络聊天室程序,这个程序将以同步的方式在服务器端和客户端进行通信,而且是多线程程序,可以处理多个连接的请求。程序运行后,在窗口上部填写远程主机地址、端口以及本地端口号,注意,两个端口号必须一致,否则无法完成监听。然后单击“改变主机设置”按钮,即可连接到远程主机。接着在窗口下部的MEMO文本框中填写发送的信息,单击“发送”按钮,即可将信息发送到远程主机窗口。程序界面效果如图所示。
实验要点
tcpClient组件的应用;
tcpServer组件的应用。
步骤详解
新建一个应用程序,在窗口中添加一个TPanel组件,align属性设置为alTop,然后在该面板中添加三个TLable组件和三个TEdit组件,分别用于设置远程主机和本地主机的地址、端口。接着再添加一个TButton组件,caption属性为“改变主机设置”。
在窗口中添加两个TPanel面板,然后分别在面板中添加一个TMemo多行文本编辑框,分别用于显示接收信息和发送信息,其中用于接收信息的memo组件的readonly属性设置为true。
最后在窗口中添加一个TButton组件,caption属性为“发送”,再从internet组件面板上分别拖放一个tcpClient组件和一个tcpServer组件到窗口中。
代码添加与解释
打开代码编辑器,在接口部分添加一个自定义线程类:
//创建线程,以同步方式写入GUI窗口。必须这样,才能够同时处理多个连接的请求TClientDataThread = class(TThread)
private
public
ListBuffer :TStringList;
TargetList :TStrings;
procedure synchAddDataToControl;
constructor Create(CreateSuspengded: Boolean);
procedure Execute; override;
procedure Terminate;
end;
在代码实现部分,添加线程类的实现代码:
//TClientDataThread线程类的实现代码
constructor TClientDataThread.Create(CreateSuspended: Boolean);
begin
inherited Create(CreateSuspended);
FreeOnTerminate := ture;
ListBuffer := TStringList.Create;
end;
procedure TClientDataThread.Terminate;
文档评论(0)