Delphi程序设计实验指导书8.docx
《Delphi程序设计实验指导书8.docx》由会员分享,可在线阅读,更多相关《Delphi程序设计实验指导书8.docx(11页珍藏版)》请在冰豆网上搜索。
Delphi程序设计实验指导书8
《Delphi程序设计》
实验指导书
杨长春刘俊石林编写
常州大学信息科学与工程学院
实验1语法基础及常用组件应用
[实验目的]
(1)掌握Delphi程序设计的上机步骤。
(2)了解Delphi集成化开发环境。
(3)认识应用程序框架。
(4)掌握ObjectOpascal语言程序设计。
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.练习使用Delphi可视化设计方法步骤
(1)启动程序,新建工程。
(2)添加组件
(3)设置组件属性
(4)编写代码
(5)保存工程
(6)运行工程
2.编程题(必做题)
题目1:
输入圆的半径,计算并输出圆的内接正方形、外切正方形面积。
题目2:
在编辑框中输入三种商品的单价、购买数量,计算并输出所用的总金额。
题目3:
键盘输入a,b,c的值,判断他们能否构称三角形的三个边。
如果能够构成一个三角形,则计算三角形的面积。
题目4:
设计程序,求s=1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+……+n)的值。
3.编程题(选做题)
题目1:
单位发工资。
某职工应发工资X元,试求各种票额钞票总张数最少的付款方案。
题目2:
编写程序,任意输入一个整数,判断整数的奇偶性。
实验2过程与函数
[实验目的]
(1)掌握自定义过程与函数
(2)掌握传输传递方式:
按值传递、按地址传递
(3)理解变量作用域
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
自定义函数或过程,实现任意数是否为素数的判断。
题目2:
自定义函数或过程,实现数字字符串的判断。
(说明:
数据字符串是一字符,包含的每个字符都是数字字符,如‘123.45’为数字字符串,‘12ab_c’,为非数字字符串)
题目3:
自定义函数或过程,实现十进制到十六进制的转换。
过程声明如下:
procedureDemtoHex(D:
Integer;varH:
Integer)
begin
end;
其中,D为十进制数据,H为十六进制数据。
题目4:
自定义函数或过程,获取任一浮点数的整数部分和小数部分;
2.编程题(选做题)
题目1:
自定义函数或过程,实现求一元二次方程的根,传入参数为a,b,c,返回结果为x1,x2,注意:
包含虚根。
实验3高级数据类型
[实验目的]
掌握枚举、子界、集合、数组、记录类型的定义及应用;理解指针类型的定义及应用;
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
利用枚举和子界类型实现今天、明天和昨天是星期几的判断。
要求:
星期一至星期日用枚举类型定义,然后通过子界类型的顺序类型函数进行计算。
题目2:
利用集合类型实现筛法求素数。
题目3:
利用二维数组实现输出幻方阵。
幻方阵也称方阵,是指由自然数1~n
(n为奇数)构成的方阵,其各行、各列以及对角线元素之和均为相等。
题目4:
利用二维数组实现输出易一8╳8的方阵,对角线和反对角线元素为8,其余元素为1。
2.编程题(选做题)
题目1:
使用高级类型创建一链表,实现学生基本信息管理。
可以插入、修改、删除和查询学生记录信息。
提示:
结点定义如下
type
Plink=^Node
Node=Record
StuID:
String[10];//学号
StuName:
String[12];//姓名
StuSex:
String[2];//男女
StuAge:
Byte;//年龄
StuBirth:
String[10];//出生日期,格式为yyyy-mm-dd
StuDept:
String[30];//所在系部
StuClass:
String[30];//所在班级
Next:
Plink;
End;
实验4键盘鼠标文件编程
[实验目的]
掌握键盘编程的常用事件
掌握鼠标编程的常用事件
掌握文本文件的常用操作过程和函数
掌握有类型文件的常用操作过程和函数
了解无类型文件的操作。
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
识别鼠标是左键单击还是右键单击,并显示当前鼠标的位置。
提示:
通过鼠标事件的过程参数来识别。
题目2:
设计一程序,实现识别用户当前在键盘上按下的键。
题目3:
实现对文本文件的读写操作,文本文件名为My.dat,文件所在路径为当前程序所在路径
题目4:
使用有类型文件编程,实现学生课程信息管理。
可以插入、修改、删除和查询学生课程信息。
2.编程题(选做题)
题目1:
实现软键盘。
实验5多媒体编程
[实验目的]
掌握基于Canvas进行图形图像绘制的方法
理解基于多媒体组件进行多媒体应用程序的开发方法
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
基于Canvas对象实现基本图形图像的绘制,如梯形、五角行、六边形等。
题目2:
实现橡皮筋圆的绘制。
提示:
需要结合鼠标事件编程。
题目3:
基于Canvas对象实现抛物线的绘制,要求绘制坐标轴。
2.编程题(选做题)
题目1:
基于多媒体组件实现简易媒体播放软件开发。
实验6Windows高级编程
[实验目的]
掌握动态链接库工作原理
掌握如何创建一个动态链接库。
掌握如何调用一个动态链接库。
了解ActiveX编程的原理。
了解创建简单的ActiveX组件的方法。
了解添加第三方OCX的方法。
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
创建动态链接库wbs.dll,要求在wbs.dll库中编写一个函数:
functioniswbs(a:
integer):
Boolean;
begin
end;
此函数将判断参数a是不是完备数,如果是将返回True,否则返回False。
另外,编写一个应用程序,界面设置如下图所示,调用动态链接库wbs.dll中iswbs函数,判断任意输入一个整数是否为完备数,要求使用静态调用和动态调用两种方式。
(提示:
“完备数”是指一个数恰好等于它的因子之和,如6的因子为1、2、3,而6=1+2+3,因而6就是完数。
编制程序,找出1-1000之间的的全部“完备数”)
题目2:
创建基于TButton类的ActiveX控件,为其添加自定义属性和方法,并进行本地注册、安装和运行;
实验7数据库编程
[实验目的]
学生学习完基础的理论知识后,让学生掌握数据库系统的开发,重点是数据库系统的开发步骤:
1、初步设计2、功能实现3、运行和维护程序。
让学生从感性上更加深刻理解数据库系统的概念。
数据库系统主要由三大部分组成:
数据库管理系统(DBMS:
它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0,MSSQL2000/Access;
[实验内容]
1.编程题(必做题)
题目1:
按下表在MSSQL2000/Access中建立数据库Ex_MainDB,并创建数据表Rule_SysUsers_Info。
中文表名
用户表
英文表名
Rule_SysUsers_Info
1
自动编号
ID
长整型
√
自动编号
2
用户工号
r1_F1
文本
4
●
定长4位
3
用户名称
r1_F2
文本
30
●
4
用户密码
r1_F3
文本
30
●
5
状态
r1_F4
文本
1
●
取值:
=0正常;=1删除
6
备用
r1_F5
文本
20
●
录入时间,yyyy-mm-ddhh:
mm:
ss
7
备用
r1_F6
文本
20
●
最新修改时间,yyyy-mm-ddhh:
mm:
ss
题目2:
参照上述表结构,编写应用程序实现用户数据的添加、修改、删除和查询。
题目3:
参照上述表结构,开发用户登录模块和密码修改模块。
实验8网络编程
[实验目的]
了解WindowsSockets的基本概念和原理
掌握UDP协议相关组件,如TNMUDP
掌握TCP协议相关组件,如IdTCPServer,IdTCPClient
[实验要求]
(1)做好实验预习,掌握并熟悉本实验涉及到的内容
(2)写出实验报告,内容要求:
✓实验目的
✓实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
✓出错信息及处理方法。
✓实验结果,包括实验处理结果和设计心得。
[实验环境]
(1)操作系统:
Windows2000Pro+SP4/WinXP;
(2)开发环境:
Delphi6.0/7.0
[实验内容]
1.编程题(必做题)
题目1:
基于UDP协议,实现局域网内消息通信的应用程序,建议使用组件TNMUDP,在FastNet组件选项卡中。
提示:
(1)协议格式可以自定义,如#BEG#+消息内容+#END#。
(2)TNMUDP组件可以作为通信客户端,也可以作为通信服务器;(3)只需要配置TNMUDP组件的目标IP和端口,然后利用TNMUDP的相关方法即可实现消息通信。
参考样例如下:
//发现消息
procedureTForm1.Button1Click(Sender:
TObject);
var
C:
Array[1..3]ofChar;
begin
C:
='cat';
NMUDP1.RemoteHost:
='127.0.0.1';
NMUDP1.ReportLevel:
=Status_Basic;
NMUDP1.LocalPort:
=6668;
NMUDP1.RemotePort:
=6668;
NMUDP1.SendBuffer(C,3);
end;
//接收消息
procedureTForm1.NMUDP1DataReceived(Sender:
TComponent;NumberBytes:
Integer;FromIP:
String;Port:
Integer);
var
C:
array[1..3]ofChar;
I:
Integer;
begin
ifNumberBytes<=3then
begin
NMUDP1.ReadBuffer(C,I);
Memo1.Lines.Add(C+':
received'+IntToStr(I)+'bytesfrom'+FromIP+'onport'+IntToStr(Port));
end
else
Memo1.Lines.Add(IntToStr(I)+'bytesincoming,buffertoosmall');
end;
题目2:
基于TCP协议,实现局域网内消息通信的应用程序,建议使用IdTCPServer,
IdTCPClient组件。
提示:
协议格式可以自定义,如#BEG#+消息内容+#END#。
2.编程题(选做题)
题目1:
基于UDP协议或TCP协议,实现局域网文件传输。
提示:
可以采用TNMUDP组件或IdTCPServer,IdTCPClient组件。