Delphi程序设计实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Delphi程序设计》实验指导书
杨长春刘俊石林编写
江苏工业学院计算机科学与工程系
实验一、Delphi集成化开发环境与Object Opascal 语言
一、实验目的
1.掌握Delphi程序设计的上机步骤。
2.了解Delphi集成化开发环境。
3.认识应用程序框架。
4.掌握Object Opascal语言程序设计。
二、实验要求
1.做好实验预习,掌握并熟悉本实验涉及到的内容
2.写出实验报告,内容要求:
(1)实验目的
(2)实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
(3)出错信息及处理方法。
(4)实验结果,包括实验处理结果和设计心得。
三、实验环境
操作系统:Windows 2000 Pro +SP4,应用系统:Delphi7.0企业版。
四、实验内容
1.练习使用Delphi可视化设计方法步骤
(1)启动程序,新建工程。
(2)添加组件
(3)设置组件属性
(4)编写代码
(5)保存工程
(6)运行工程
2.Object Pascal数据类型的使用
运行教材第二章中的实例,回答:Object Pascal提供了哪几种运算符数据类型,提供了那些语句?
3.简单Windows程序设计
任选题目1至题目6中完成4个。
题目1:输入圆的半径,计算并输出圆的内接正方形、外切正方形面积。
题目2:在编辑框中输入三种商品的单价、购买数量,计算并输出所用的总金额。
题目3:单位发工资。
某职工应发工资X元,试求各种票额钞票总张数最少的付款方案。
题目4:编写程序,任意输入一个整数,判断整数的奇偶性。
题目5:键盘输入a,b,c的值,判断他们能否构称三角形的三个边。
如果能够构成一个三角形,则计算三角形的面积。
题目6:设计程序,求s=1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+……+n)的值。
实验二、常用组件、高级数据类型(必做)
一、实验目的
掌握按钮类、文本类、列表类、组合框组件、菜单、工具栏、对话框、网格组件、系统组件、PageControl组件的使用
掌握高级数据类型的编程
二、实验要求
1.做好实验预习,掌握并熟悉本实验涉及到的内容
2.写出实验报告,内容要求:
(1)实验目的
(2)实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
(3)出错信息及处理方法。
(4)实验结果,包括实验处理结果和设计心得。
三、实验环境
操作系统:Windows 2000 Pro +SP4,应用系统:Delphi7.0企业版。
四、实验内容
所有同学可以从题目1~题目10中任选其中2个完成,另外题目2必须完成。
题目1:编写一个简单程序:可输入学生的姓名、学号和自述并可以改变字体的设置。
题目2:使用高级类型创建一链表,实现学生基本信息管理。
可以插入、修改、删除和查询学生记录信息。
提示:结点定义如下
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;
题目3:单选按钮与复选按钮的使用。
编写如图界面,选择颜色可改变文本颜色和背景颜色。
题目4:利用循环结构的三种语句,制作一个九九乘法表。
题目5:Hanoi塔问题:传说印度教的主神梵天创造世界时,印度北部佛教胜地贝拿勒斯圣庙里,安放了一块黄铜板,板上插着三根针,在其中一根针上自下而上放着由大到小的64个金盘。
这就是所谓的梵塔(Hanoi)。
梵天要僧侣坚定不移地按下面规则把64个盘子移到另一根针上:
(1)一个只能移一个盘子。
(2)盘子只许在三根针上存放。
(3)永远不许大盘压小盘。
梵天称,当把他创造世界时所安放的64个盘子全部移到另一根针上之时,就是世界毁灭之日。
请编制程序解决该问题。
程序运行效果,如图所示。
题目6:“完备数”是指一个数恰好等于它的因子之和,如6的因子为1、2、3,而6=1+2+3,因而6就是完数。
编制程序,找出1-1000之间的的全部“完备数”。
题目7:验证“歌德巴赫猜想”。
1742年6月,德国数学家歌德巴赫(C.Goldbah 1690-1764)在给彼德堡德大数学家欧拉德信中提出一个问题,任何大于6的偶数均可以表示为两个素数之和吗?欧拉复信道:“任何大于6的偶数均可以表示为两个素数之和,这一猜想我还不能证明,但我确信无疑地认为这是完全正确的定理。
”这就是至今尚未被证明的歌德巴赫猜想。
题目8:利用二维数组实现输出幻方阵。
幻方阵也称方阵,是指由自然数1~n2(n 为奇数)构成的方阵,其各行、各列以及对角线元素之和均为相等。
题目9:利用集合类型实现筛法求素数
题目10:利用二维数组实现输出易一8╳8的方阵,对角线和反对角线元素为8,其余元素为1。
实验三、键盘鼠标文件编程、Windows高级编程
一、实验目的
1.掌握键盘编程的常用事件
2.掌握鼠标编程的常用事件
3.掌握文本文件的常用操作过程和函数
4.掌握有类型文件的常用操作过程和函数
5.了解无类型文件的操作。
6.掌握Delphi中的异常保护机制
7.掌握动态链接库工作原理
8.掌握如何创建一个动态链接库。
9.掌握如何调用一个动态链接库。
10.了解ActiveX编程的原理。
11.了解创建简单的ActiveX组件的方法。
12.了解添加第三方OCX的方法。
二、实验要求
1.做好实验预习,掌握并熟悉本实验涉及到的内容
2.写出实验报告,内容要求:
(1)实验目的
(2)实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
(3)出错信息及处理方法。
(4)实验结果,包括实验处理结果和设计心得。
三、实验环境
操作系统:Windows 2000 Pro +SP4,应用系统:Delphi7.0企业版。
四、实验内容
题目1:识别鼠标是左键单击还是右键单击,并显示当前鼠标的位置。
提示:通过鼠标事件的过程参数来识别
题目2:设计一程序,实现识别用户当前在键盘上按下的键。
题目3:实现对文本文件的读写操作,文本文件名为My.dat,文件所在路径为当前程序所在路径
题目4:使用有类型文件编程,实现学生课程信息管理。
可以插入、修改、删除和查询学生课程信息。
题目5:DLL动态链接库编程
创建动态链接库sushu.dll,要求在sushu.dll库中编写一个函数:
function sushu(a:integer):Boolean;
begin
end;
此函数将判断参数a是不是素数,如果是将返回True,否则返回False。
编写一个程序,界面设置如下图所示,调用动态链接库sushu.dll中sushu函数,判断任意输入一个整数是否为素数,要求使用静态调用和动态调用两种方式。
题目6:创建基于TButton类的ActiveX控件,并进行安装和运行;
实验四、Delphi的数据库编程(选做)
一、实验目的
学生学习完基础的理论知识后,让学生掌握数据库系统的开发,重点是数据库系统的开发步骤:1、初步设计2、功能实现3、运行和维护程序。
让学生从感性上更加深刻理解数据库系统的概念。
数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。
二、实验要求
1.做好实验预习,掌握并熟悉本实验涉及到的内容
2.写出实验报告,内容要求:
(1)实验目的
(2)实验内容,实验源代码写出关键的部分,一定要写出实验中出现的错误,以及解决错误的方法。
(3)出错信息及处理方法。
(4)实验结果,包括实验处理结果和设计心得。
三、实验环境
操作系统:Windows 2000 Pro +SP4,应用系统:Delphi7.0企业版。
四、实验内容
实验四要求:
所有同学可以从题目27、题目28中任选其中一个完成。
题目27:数据库编程。
图书管理信息系统(ADO)
ADO与BDE不同,ADO在Delphi中已是一个同BDE并驾齐驱的数据引擎。
虽然ADO的功能比BDE稍逊一愁,但与BDE相比,ADO有一些重要的优势,例如,ADO已经封装在从Windows2000开始的Microsoft的操作系统中,这使得数据库应用程序不需要捆绑数据引擎。
本题要求使用ADO实现图书管理信息系统的实现。
图书管理系统是一个关于图书及其借阅的管理系统,包括图书管理、读者管理、借阅管理和信息查询几个功能,其结构如图所示。
题目2
题目1:数据库编程。
房屋租赁管理系统(BDE)
房屋租赁管理系统是一个关于房屋及其出租业务的管理信息系统,包括用户登录、房屋管理、租金管理、统计和系统维护几个功能模块,其结构如图所示。
.用户登录模块
该模块用来确认用户输入的密码,以判断用户是否合法,合法用户才能进入系统。
.房产管理模块
该模块用来更新和维护系统中的房产信,主要实现对房屋数据包括浏览、修改、插入和删除等的操作。
.合同管理模块
合同即房屋租赁合同。
该模块包括合同信息管理、到期合同处理和合同信息查询几个功能。
其中合同信息管理具有产生新的租赁合同以及对已有合同数据的浏览、修改、删除等操作;到期合同处理具有自动警示到期合同以及提示其租金交纳情况的功能;合同信息查询能提供多种方式的组合信息查询。
.租金管理模块
该模块具有租金收取和租金查询功能。
.统计模块
该模块可以对本月租金、到期合同、履约金和当前空闲房屋的信息进行统计。
.系统维护模块
该模块具有数据备份、数据恢复和密码管理等功能。