首页 百科知识 应用程序系统开发实训

应用程序系统开发实训

时间:2022-10-17 百科知识 版权反馈
【摘要】:如果已经有某些表格,则直接将其加入到项目管理器中。4.在项目管理器中,用鼠标右键单击“Main.prg”,在弹出的快捷菜单中选择“设置主文件”,将该程序设置为主程序。然后单击确定返回“连编选项”对话框,单击“确定”,系统将项目进行编译,生成可执行文件。在XJGL文件夹下建立Package目录,将Visual FoxPro中的Foxuser.dbf、Foxuser.fpt文件以及Visual FoxPro支持文件VFP6R.dll、VFP6RCHS.dll和VFP6RENU.dll复制到该文件夹下。

实验十二 应用程序系统开发实训

实验目的

1.了解一个应用程序系统的设计。

2.掌握添加、移去、包含、排除文件、设置主程序、连编项目等操作。

3.掌握应用程序的打包与发布方法。

4.通过本实验,初步掌握开发一个应用程序的完整步骤。

实验题目

根据教材上的数据表及前面的相关实验,设计一个学生学籍管理系统。要求:

1.创建一个新项目XJGL.pjx;并创建学生学籍数据库,在数据库中要包含学生、选课、课程教师和授课5个表,其数据类型依据教材上相同数据表的数据类型。

2.分别创建表单,可以对以上5个表进行数据的输入、修改、浏览和查询,可以按要求查询学生信息、选课情况及成绩、教师授课等信息。

3.创建包括以上功能提示及系统必要功能的下拉式菜单,菜单与相关表单对应。

4.编写主程序,设置好消息循环的进入与退出。

5.连编系统。

6.将应用程序打包。

7.在新的计算机中安装打包后生成的应用程序安装包,运行并查看运行效果。

实验步骤

12-1 实验步骤

分析:程序所需要的5个表如果没有,就按照教材第9~10页上的表来创建,要注意其中的数据类型。如果已经有某些表格,则直接将其加入到项目管理器中。

方法:

1.在磁盘上新建一个文件夹,命名为XJGL,本次实验的所有文件均要放在此文件夹中,便于后面程序打包使用,并在XJGL文件夹下建立文件夹Data,用于存放项目中所用到的各种数据文件。

2.在VISUAL FOXPRO中新建项目文件XJGL.pjx,保存在刚才新建的文件夹下。

3.在项目管理器中新建数据库学生学籍,并保存在文件夹Data下,如果已经存在该数据库,则先将其复制到Data文件夹下,再将其加入到项目中。

4.加入数据表:在项目管理器中展开“数据\数据库\学生学籍”,选定“表”,如果相关数据表文件已经存在,则先将其(包括备注文件)复制到Data文件夹下,并点击“添加”按钮将它们加入到刚才新建的学生学籍数据库中;如果数据表文件不存在,点击“新建”按钮逐一新建所需表文件,要求建的表文件全部保存在文件夹Data下,如图12-1所示。

img133

图12-1 项目管理器

12-2 实验步骤

分析:5个表的数据输入与修改表单可以通过表单向导快速完成,功能就达到要求了。浏览数据的表单可通过表格控件显示数据。对于查询,则要分较多功能,用SQL实现,查询结果还是通过表格控件显示在表单上。

方法:

1.数据录入与修改表单的创建。

(1)在项目管理器中选择“文档\表单”,单击右边的“新建”按钮,在弹出的“新建表单”对话框中选择“表单向导”进入利用向导创建表单的过程,表单类型选择“表单向导”,数据表选择“学生”,表单样式选择“浮雕型”,排序字段为“学号”,其他采用默认的选项。并将其保存在XJGL文件夹下,文件名为:XSSJ.scx。

(2)用相同的方法创建选课、课程、教师与授课4个表的数据录入与修改表单,全都保存在Data文件夹下,文件名依次是:XKSJ.scx、KCSJ.scx、JSSJ.scx和SKSJ.scx。

2.数据浏览表单的创建。

(1)在项目管理器中选择“文档\表单”,单击右边的“新建”按钮,在弹出的“新建表单”对话框中选择“新建表单”进入表单设计器。

(2)打开表单数据环境,添加学生、选课、课程、教师与授课5个表。

(3)在表单上添加一个表格控件、一个标签控件、一个单选按钮组控件和一个命令按钮控件,这些控件的相关属性设置如表12-1所示。

表12-1 数据录入和修改表单控件属性

img134

(4)添加相关事件代码:

表单的Init事件代码:

img135

命令按钮Command1的Click事件代码为:

Thisform.Release

(5)将表单保存在XJGL文件夹下,文件名为:Tablebrowse.scx。

表单运行情况如图12-2所示。

img136

图12-2 数据浏览表单运行时状态

3.查询表单的设计。

(1)学生信息查询与教师信息查询表单设计。

●表单如图12-3所示,表单控件及相关属性如表12-2所示。表12-2中未列出的控件使用默认属性值,表单的数据环境中包含两个数据表:学生.dbf和教师.dbf,此表单用于查询教师或学生的信息,不同信息来源通过单选按钮控件来实现。

img137

图12-3 信息查询表单

表12-2 查询表单上控件的属性

img138

(续表)

img139

●相关事件代码:

表单Form1的Init事件代码:

This.Combo4.Additem("=")

This.Combo4.Additem("<")

img140

img141

img142

●将表单保存在XJGL文件夹下,文件名为:Infoquery.scx。

(2)选课情况、选课成绩与所选教师查询表单设计。

我们采用了页框控件来实现在一个表单上完成成绩和选课情况的查询,如图12-4~图12-6所示。表单数据环境中加入学生、选课、课程、授课和教师5个表。

●表单上放2个控件:Pageframe1和Command1。

Command1的Caption属性值为“关闭”,其Click事件代码如下:Thisform.Release

img143

图12-4 成绩查询页表单页

●Pageframe1的Pagecount属性值为3。

●Page1上的控件如图12-4所示,有关控件属性值说明如表12-3所示,未列出的按图12-4所示设置属性值或使用默认值。

表12-3 选课成绩查询页表单控件属性

img144

●Page1及相关事件代码如下:

img145

img146

img147

img148

Exestr="Select 学生.学号,姓名,课程.课程号,课程.课程名,成绩 From 学生,选课,课程 Where 学生.学号=选课.学号 And 选课.课程号=课程.课程号 And 课程.课程名='&Comval.'"+Sortkey

EndCase

&Exestr

●Page2上的控件如图12-5所示,有关控件属性值说明如表12-4所示,未列出的按图12-5所示设置属性值或使用默认值。

img149

图12-5 选课查询表单页

表12-4 课程情况查询页上的控件属性

img150

●Page2上控件相关事件代码如下:

Page2的Init事件代码:

img151

img152

img153

●Page3上的控件如图12-6所示,有关控件属性值说明如表12-5所示,未列出的按图12-6所示设置属性值或使用默认值。

img154

图12-6 授课查询单页

表12-5 教师授课页上控件属性

img155

●Page3上控件相关事件代码:

Page3的Init事件代码:

img156

img157

img158

●将表单保存在XJGL文件夹下,文件名为Coursequery.scx

12-3 实验步骤

分析:根据题目要求,下拉菜单在菜单栏可包括2个菜单项:文件和数据。在文件菜单下,只有一个菜单项:退出系统;而在数据菜单下,包含3项:数据输入与修改、数据浏览和数据查询,其中数据输入与修改如图12-7所示,数据查询如图12-8所示。

img159

图12-7 数据输入与修改二级菜单

img160

图12-8 数据查询二级菜单

方法:

1.在项目管理器中选择“其他”标签,选择其中的“菜单”,单击右边的“新建”按钮,在弹出的对话框中单击“菜单”按钮,进入菜单设计器,按上面的分析说明输入各菜单项名称。

2.菜单各项的结果与相关内容:

(1)退出系统

结果:过程

代码:

Clear Events

Close All

Clear All

Set Sysmenu To Default

Quit

(2)学生数据

结果:命令

内容:Do Form XSSJ

(3)教师数据

结果:命令

内容:Do Form JSSJ

(4)选课数据

结果:命令

内容:Do Form XKSJ

(5)课程数据

结果:命令

内容:Do Form KCSJ

(6)授课数据

结果:命令

内容:Do Form SKSJ

(7)数据浏览

结果:命令

内容:Do Form Tablebrowse

(8)师生信息查询

结果:命令

内容:Do Form Infoquery

(9)课程信息查询

结果:命令

内容:Do Form Coursequery

3.将菜单文件保存在XJGL文件夹下,文件名为:Mainmenu.mnx。

4.单击“菜单”下的“生成”命令,成绩菜单程序,程序名为:Mainmenu.mpr。

12-4 实验步骤

分析:主程序是在程序启动时设置必要的运行环境,启动菜单程序将用户定义菜单设为主菜单,启动事件循环,设置程序主窗口的一些必要的信息。

方法:

1.在项目管理器中单击“代码”标签,选择其中的“程序”,单击右边的“新建”按钮,进入代码编辑器。

2.在代码编辑器中输入以下代码:

Set Sysmenu Off

Set Sysmenu To

Close All

Clear All

Set Talk Off

Set Status Bar Off

Set Default To XJGL

_Screen.Windowstate=2

_Screen.Caption="学生学籍管理系统"

Do Mainmenu.Mpr

Read Events

3.将程序保存在XJGL文件夹下,文件名为:Main.prg。

4.在项目管理器中,用鼠标右键单击“Main.prg”,在弹出的快捷菜单中选择“设置主文件”,将该程序设置为主程序。

12-5 实验步骤

方法:

1.在项目管理器打开的情况下,单击“项目”菜单下的“项目信息”命令,打开项目信息对话框,如图12-9所示。根据你自己的实际情况在对话框中填上适当的内容,单击“确定”返回。

img161

图12-9 项目信息对话框

2.在项目管理器里,单击其右边的“连编”按钮(或者单击“项目”菜单下的“连编”命令),打开“连编选项”对话框,在“操作”组中选择“连编可执行文件”,在“选项”下面,选中“重新编译全部文件”和“显示错误”两项。单击版本,打开EXE版本对话框,在此可设置程序版本及相关说明信息等(如图12-10所示)。然后单击确定返回“连编选项”对话框,单击“确定”,系统将项目进行编译,生成可执行文件。这里根据项目名称默认生成的是XJGL.exe文件。

img162

图12-10 连编选项及可执行程序版本

12-6 实验步骤

方法:

1.创建发布树目录。在XJGL文件夹下建立Package目录,将Visual FoxPro中的Foxuser.dbf、Foxuser.fpt文件以及Visual FoxPro支持文件VFP6R.dll、VFP6RCHS.dll和VFP6RENU.dll复制到该文件夹下。同时将XJGL文件夹下XJGL.exe文件及Data文件夹复制到Package文件夹下。

2.在XJGL文件夹下创建Setup文件夹。

3.单击“工具”菜单下的“向导”,选择“安装”,打开“安装向导”对话框。

4.在步骤1中,指定发布树目录为Package目录。

5.在步骤2中,选定Visual Foxpro 运行时刻组件项。

6.在步骤3中,指定磁盘映象目录为前面创建的Setup目录,只选定“1.44MB 3.5英寸(4)”这一项。

7.在步骤4中,在安装对话框标题下面输入“学籍管理”,版权信息下面输入“版权所有”。

8.在步骤5中,将默认目标目录改为“\XJGL”,程序组改为“学籍管理”,其他默认。

9.在步骤6中,找到表格中的XJGL.exe项,单击程序管理器项该行的复选框,弹出程序组菜单项,在说明下面输入“学籍管理”,命令行下面输入“%S\Xjgl.exe”。单击“确定”返回,如图12-11所示。

img163

图12-11 设置安装后在开始菜单显示的文件夹名称

10.在步骤7直接单击“完成”按钮进入如图12-12所示状态进行安装程序包的制作。

img164

图12-12 生成安装程序包

11.最后,单击弹出对话框的“完成”按钮,结束安装程序包的制作。

12-7 实验步骤

方法:

1.打开Setup文件夹,下面产生了一个Disk144的文件夹,里面有Disk1~Disk4 4个文件夹(如果程序更大的话,这样的文件夹个数可能更多),说明安装程序包如果用软盘来存放,每个文件夹存放一张软盘,总共要4张软盘。当然也可以用光盘或者优盘来存放。将Disk144及其下面的所有内容复制到软盘或者优盘上。

2.换一台机器,将装有安装程序包的盘插入到相应的驱动器,打开Disk144下面的Disk1文件夹,里面有个Setup.exe文件,双击运行之,启动安装程序,根据提示完成安装。

3.单击“开始\程序”,打开“学籍管理”子菜单,单击“学籍管理”,运行刚才安装的程序,并测试里面的各项功能。

思考题

根据实验中的项目,假设我们有两类人员要使用该程序,其中管理员可以修改数据库中的数据,而一般用户只能查询数据库中的数据。要求如下:

(1)创建一个表,用来存储以上类型的用户,表有3个字段:用户名(C,20)、密码(C,20)、用户类型(C,1),用户类型用一个字母“A”或“U”表示,A表示是管理员,U表示一般用户。开始该表中只有一条记录(“Admin”,“11111111”,“A”),将表加入到项目中。

(2)程序启动时,要显示一对话框,要求输入用户名与密码,用户名与密码均正确才能进入学籍管理,输入出错3次后,自动退出程序。

(3)进入程序后,管理员可以创建其他用户,也可以删除其他用户,但不能更改用户的用户名与密码,只可以更改其用户类型。一般用户只能更改自己的密码。

(4)在学籍管理中,根据用户类型不同,对数据的操作功能也不相同:管理员可对数据进行任何操作,一般人员只能进行查询。

根据上面要求,对项目做适当修改,可以增加表单,增加菜单或菜单项,增加相应代码,使其满足以上功能。最后重新连编项目并重新制作安装程序,重新安装运行更改后的程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈