Delphi实训报告总.docx

上传人:b****7 文档编号:11209624 上传时间:2023-02-25 格式:DOCX 页数:16 大小:770.33KB
下载 相关 举报
Delphi实训报告总.docx_第1页
第1页 / 共16页
Delphi实训报告总.docx_第2页
第2页 / 共16页
Delphi实训报告总.docx_第3页
第3页 / 共16页
Delphi实训报告总.docx_第4页
第4页 / 共16页
Delphi实训报告总.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Delphi实训报告总.docx

《Delphi实训报告总.docx》由会员分享,可在线阅读,更多相关《Delphi实训报告总.docx(16页珍藏版)》请在冰豆网上搜索。

Delphi实训报告总.docx

Delphi实训报告总

Delphi综合应用设计实训报告

一.实验名称:

电话号码簿

二.实训目的和要求

掌握综合应用程序的设计方法,了解软件设计过程,了解大型应用系统的设计思想,初步具备大型应用程序设计能力。

三.实训条件

PC机

四.分组情况

组长:

胡云

组员:

周雯、陈静、陈金花、罗冰雁

五.实训内容

1.按软件工程方法撰写开发文档。

(1)计划进度安排

1、进行需求分析,画出系统流程图。

2、界面设计和数据库的输入。

3、完成各界面的设计,并编写代码完成相应的功能,进行单元测试。

4、把各个模块聚合成一个整体模块,进行系统测试。

5、系统维护。

(2)需求分析

系统流程图

DFD图(数据流图)

(3)系统总体设计

模块划分:

系统功能图(SC图)

符合

符合

数据库设计:

实体关系图(ER图),数据录入

 

 

模块定义:

模块名称,模块接口等。

(4)编码

程序流程图(NS图、PAD图、结构化语言)

(5)测试

   要求简易的测试用例设计

2.Delphi工具开发使用

VCL组件的使用,报表的设计。

3.程序开发打包

Wise工具,傻瓜工具等。

六.实训步骤:

1.数据库设计

2.主界面tel_main的设计如下图

编写代码实现菜单栏中的功能

(1).查看tel_pub的代码:

var

child_pub:

tf_pub;

begin

child_pub:

=tf_pub.Create(application);

end;

(2).登入tel_per的代码

var

child_login:

tf_login;

begin

child_login:

=tf_login.Create(application);

end;

(3).注册代码

var

child_reg:

tf_reg;

begin

child_reg:

=tf_reg.Create(application);

end;

(4).帮助代码

begin

Application.CreateForm(Tf_about,f_about);

end;

3.登入界面tel_login的设计

实现登入成功进入下一界面代码如下:

procedureTf_login.Button1Click(Sender:

TObject);

begin

self.ADOQuery1.SQL.Clear;

self.ADOQuery1.Close;

self.ADOQuery1.SQL.Add('selectperidfrompersonwherename=:

aandpwd=:

b');

self.ADOQuery1.Parameters.ParamByName('a').Value:

=self.uname.Text;

self.ADOQuery1.Parameters.ParamByName('b').Value:

=self.upwd.Text;

self.ADOQuery1.Open;

ifself.ADOQuery1.RecordCount>0then

begin

loginname:

=self.uname.Text;

loginpwd:

=self.upwd.text;

Application.CreateForm(Tf_per,f_per);

//child_per:

=f_per.Create(application);

self.Destroy;

end

else

begin

messagebox(self.Handle,'登录失败!

用户名或密码错误!

','提示',mb_okcancel);

end;

end;

4.公共地址簿tel_pub的设计

(1)实现查询功能的代码如下:

begin

ifself.xingming.Checkedthen

begin

self.ADOQuery2.SQL.Clear;

self.ADOQuery2.Close;

ifownlimthen

begin

self.ADOQuery2.SQL.Add('selectname,sex,tel,email,addr,limitsfrompersonwherename=:

pub_b');

self.ADOQuery2.Parameters.ParamByName('pub_b').Value:

=self.nameqry.Text;

end

else

begin

self.ADOQuery2.SQL.Add('selectname,sex,tel,email,addrfrompersonwherename=:

pub_b');

self.ADOQuery2.Parameters.ParamByName('pub_b').Value:

=self.nameqry.Text;

end;

end

else

begin

self.ADOQuery2.SQL.Clear;

self.ADOQuery2.Close;

ifownlimthen

begin

self.ADOQuery2.SQL.Add('selectname,sex,tel,email,addr,limitsfrompersonwheretel=:

pub_c');

self.ADOQuery2.Parameters.ParamByName('pub_c').Value:

=self.telqry.Text;

self.ADOQuery2.Fields[5].DisplayLabel:

='权限';

end

else

begin

self.ADOQuery2.SQL.Add('selectname,sex,tel,email,addrfrompersonwheretel=:

pub_c');

self.ADOQuery2.Parameters.ParamByName('pub_c').Value:

=self.telqry.Text;

end;

end;

self.ADOQuery2.Open;

self.chinaise;

end;

(2)删除功能代码如下:

begin

ifmessagebox(self.Handle,'确定要删除吗?

','警告',mb_okcancel)=idokthen

begin

self.ADOQuery2.Delete;

end;

end;

5.个人地址簿tel_per的设计

其中,查询功能代码与第五步一样。

更新功能主要代码如下:

procedureTf_per.btn_addClick(Sender:

TObject);

begin

self.ADOQuery2.Append;

end;

procedureTf_per.btn_delClick(Sender:

TObject);

begin

ifmessagebox(self.Handle,'确定要删除吗?

','警告',mb_okcancel)=idokthen

begin

//self.ADOQuery2.GetFieldData(self.ADOQuery2.FieldByName('name'),self.ADOQuery2.GetBookmark);

self.ADOQuery2.Delete;

end;

end;

procedureTf_per.btn_postClick(Sender:

TObject);

begin

ifmessagebox(self.Handle,'确定要保存吗?

','保存提示',mb_okcancel)=idokthen

begin

self.ADOQuery2.Post;

end;

end;

procedureTf_per.btn_updClick(Sender:

TObject);

begin

self.DBGrid1.ReadOnly:

=false;

self.ADOQuery2.Edit;

end;

6.注册界面tel_reg的设计

实现功能代码如下:

var

daxue:

string;

begin

ifself.mima2.Text<>self.mima.Textthen

begin

messagebox(self.Handle,'密码不正确!

请重新输入','错误',mb_ok);

end

else

begin

daxue:

=self.DBdaxue.Text;

self.ADOQuery1.Append;

self.ADOQuery2.SQL.Clear;

self.ADOQuery2.Close;

self.ADOQuery2.SQL.Add('updatepersonsetcollid=(selectcollidfromcolleagewherename=:

a)');

self.ADOQuery2.Parameters.ParamByName('a').Value:

=self.DBdaxue.Text;

self.ADOQuery2.Open;

messagebox(self.Handle,'注册成功!

您现在可以登录个人地址簿了!

','提示',mb_ok);

end;

end;

7.帮助tel_about的设计

七.实训结果:

八.实训过程分析:

1.数据库设计期间:

需要考虑设计表,应有三张表:

用户表、大学表、类别表。

但是在建表过程中,因为用户表和类别表关系为多对多,所以要再添加关系表。

 

2.在界面设计过程中:

一共有7个界面。

在设计个人地址簿时,需要添加一个panelcontrol组件,以方便用户点击;在设计公共地址簿时,需要添加一个panel组件,以美化界面。

3.在代码编辑过程中,遇到以下问题:

<1>.SQL语句不宜过长,嵌套不宜过多。

否则,将无法实现查询功能。

<2>.编辑删除功能代码时,若ADOQuery的查询语句是由2张表连接来查询的情况下,执行ADOQuery.Delete后将会对2张表产生影响。

<3>.编辑添加功能代码时,可拖入DBEdit,在代码中设置其fieldname属性,但必须与ADOQuery中查询出的字段名相吻合。

<4>.在设置权限时,需定义一个全局变量以判断该用户是否具有管理员权限。

4.在设计报表过程中,不可以动态添加ADOQuery的查询语句,必须在设计过程中添加ADOQuery的查询语句,并将其Ative属性设为True。

九.结论分析:

经过此次实训,增进了同学与同学之间的感情,对Delphi组件的应用有了进一步的了解。

也把以往学过的知识联系起来,得到了很好的巩固与提高。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1