[计算机软件及应用]计算机vf程序设计.doc

上传人:音乐台 文档编号:1992089 上传时间:2019-01-29 格式:DOC 页数:31 大小:2.46MB
返回 下载 相关 举报
[计算机软件及应用]计算机vf程序设计.doc_第1页
第1页 / 共31页
[计算机软件及应用]计算机vf程序设计.doc_第2页
第2页 / 共31页
[计算机软件及应用]计算机vf程序设计.doc_第3页
第3页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[计算机软件及应用]计算机vf程序设计.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]计算机vf程序设计.doc(31页珍藏版)》请在三一文库上搜索。

1、 潍坊科技学院设 计 用 纸 Visual FoxPro课程设计报 告 书 设计题目 点歌系统 专业班级 2011英语本科2班 姓 名 李双双 学 号 201103480013 指导教师 赵晓静 日 期 2012.12.232013.1.9 成 绩 课程设计任务书院系:外国语学院 专业:11级英语本科 班级:11级英语本科2班学号:201103480034题目:点歌系统一、课程设计时间2012年12月23日至2013年1月9日,共计2周。二、课程设计内容用VF数据库软件完成以下任务:本系统是对点歌业务进行数字化管理。系统的主要功能:歌手信息维护、歌曲管理、信息查询、点歌次数管理等,同时能够完成

2、这些信息的增、删、改、查等操作。三、课程设计要求1. 程序质量: 贯彻事件驱动的程序设计思想,使用可视化对象来维护数据库。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰,如有登陆界面,密码修改等。 用户界面中的菜单至少应包括“歌手信息维护”、“歌曲业务管理”、“信息查询”、“点歌次数管理”、“数据备份”、“退出”等。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和数据库系统程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩:目录一、系统需求分析1二、系统主要功能

3、模块2三、数据库设计4四、各功能模块的具体设计5五、课设总结26六、参考文献2727潍坊科技学院设计用纸1、 系统需求分析 本系统是用于开发一套专门用于歌手管理工作的数据库系统,经过仔细研究分析,我们决定将系统分为三大部分,分别为歌手数据信息管理,歌曲管理,后台操作管理三部分。为了便于使用者对歌曲情况的管理,其中主要侧重点在歌手人事档案管理方面。在歌手人事档案管理又分为歌手人事维护打印和查询打印两个分支。歌手成绩菜单具有查询打印功能。系统管理分为操作员管理,密码管理,数据备份等部分。1. 歌手信息维护:管理歌手号、姓名、星座等,一些主要功能:数据录入、修改、删除、查询、浏览、保存、打印等。2.

4、 歌手数据信息的查询:提供歌手号,姓名,作曲查询。分别利用不同的命令代码方式实现查询打印功能,功能是便于用户的检索查询3. 歌曲点歌次数查询的管理:提供歌手号,姓名,作曲,与歌手信息查询相似。4、三大部分紧密结合联系,包括歌手数据管理表、歌曲数据管理表、用户口令三个部分。二、系统主要功能模块歌手管理系统基于Visual FoxPro 6.0中文版开发,VFP在数据库开发方面具有方面,实用,简单,直接等优点,同时其也具有一定的局限性。本系统主要面向歌曲管理者,歌曲查询者等开发使用,因此主要侧重于系统的使用性和方便性,同时在安全性方面,我们也十分重视。特别是操作员级别的划分等密码管理,我们都做了仔

5、细的分析研究。 一、“电台歌曲点播系统”的开发 在开发应用程序时,可以利用“项目管理器”将应用程序的各个部分组织起来。用集成化的方法建立应用系统项目,并进行项目测试。1 建立电台歌曲点播系统项目文件 (1)创建子目录一个完整的应用程序,即使规模不大,也会涉及多种类型的文件,如dbc数据库、dbf表以及菜单、表单、报表、位图等。如果把这些文件都放在一个文件夹下,将会给以后的修改、维护工作带来很大的不便。因此,需要建立一个层次清晰的目录结构,让不同类型的文件各归其所。图1-4所示的就是一种目录结构的示例。图1-4 目录结构(2)建立电台歌曲点播系统项目文件选择“文件”菜单中的“新建”命令或单击常用

6、工具栏上的“新建”按钮,在dgxt文件夹位置建立一个名为“Dgxt.PJX”的项目文件,如图1-5所示。图1-5项目管理器Dgxt2. 建立数据库与数据表 (1)建立数据库 1)在项目管理器上切换到“数据”选项卡,选取该选项卡中的“数据库”选项。 2)单击右边的“新建”按钮,出现“新建数据库”对话框,单击“新建数据库”按钮,在弹出的“保存新建文件”对话框中;输入数据库名称“Order”,保存在“DATA”子目录下。 3)单击“保存”按钮,进入Order数据库设计器三、数据库设计数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而

7、避免无谓的重复工作。本系统的数据库包括3个表,即歌手数据管理表,歌曲数据管理表、用户口令表。1.歌手数据表(歌手.dbf)歌手数据管理表(歌手.dbf)用于记录歌手编号、姓名、性别、生日、星座等信息,其逻辑结构如表1所示。字段类型描述键索引说明歌手编号C(3)歌手编号主主000999,不允许为空姓名C(16)姓名中文18,西文16个字符XBC(2)性别男或女生日D生日星座C(6)星座最多3个汉字,如天秤座代表作C(30)代表作115个汉字国籍C(10)国籍最多5个汉字档案M档案表1 歌手基本信息表2.歌曲数据表(歌曲.dbf)歌曲数据表(歌曲.dbf)用于歌曲的基本信息,包括歌曲编号、歌曲名、

8、歌手编号、点歌次数等信息,其逻辑结构如表2所示。表1-2 歌曲数据表.DBF描述如下 字段类型描述键索引说明歌曲编号C(4)歌曲编号主主00009999,不允许为空歌曲名C(30)歌曲名115个汉字歌手编号C(3)歌手编号外001999作词C(30)作词一个人、两个人或乐队,最多15个汉字作曲C(30)作曲同上歌曲G歌曲记录歌曲,便于播放点歌次数I点歌次数普通0999另外,为了便于系统管理,还需增设一个口令管理数据表,如表1-3所示。表1-3 口令管理数据表KLB.DBF 字段类型描述说明用户名C(8)用户名最多4个汉字,8个字符用户口令C(8)用户口令最多8个字符3.用户口令数据管理表(用户

9、口令.dbf)用于记录系统用户的基本信息,包括用户名,密码等,其逻辑结构如表3所示。表3 用户表字段类型描述说明用户名C(8)用户名最多4个汉字,8个字符用户口令C(8)用户口令最多8个字符下一步就是设计软件的大概功能图,根据本系统的情况,其概要图如图1-2所示。输入口令歌曲管理歌手管理系统图1-2 电台歌曲点播系统概要图录入歌曲点播歌曲打印歌单打印排行榜录入歌手查询档案打印歌手单数据管理口令维护关于系统退出系统输入口令歌曲管理歌手管理系统 第三步就是详细设计,这里要求对Visual FoxPro有一定的了解。如果知道Visual FoxPro能提供什么样的组件,就可以比较轻松地细化系统。本系

10、统初步细化的框图如图1-3所示。图1-3 电台歌曲点播系统框图 这里,还要听取用户的意见,如果用户同意方案,就可以开工了。否则,还要根据用户的意见进行修改。第四步就是运行调试。当我们将系统开发完毕以后,就要交付给用户使用,就是所说的运行了。一般来说半年以内不出现错误,并且验收合格后,开发工作结束。第五步,编写使用说明书。作为开发者,我们并不希望为用户开发的软件,用户却不会用。对用户来讲,使用说明书是比较重要的。因此,软件不仅仅是程序本身,还要包括相关的文档信息。二、具体设计步骤1、 数据库的建立1) 在文件菜单中,点击新建选择数据库,保存在f:周琦文件夹下,进行表的设计,如图所示:2) 表的建

11、立在数据库设计器中点击新建然后在索引选项卡中,将歌手编号选为主索引。歌手数据表、歌曲数据表、口令管理数据表如图所示: 四、各功能模块的具体设计密码验证作为系统最基本的安全管理步骤。用户如果不输入合法的用户名和密码,系统是不能进入的。当用户输入合法的用户名和密码时,系统管理会自动判断此用户,使用户的操作具有合法性。密码验证页包括操作员姓名和密码两个部分。具体的代码实现也将在详细设计书说明。下面是密码登陆页的图示(图4):用户在文本框输入操作员及口令,若正确则调用系统主界面(菜单)。允许输入三次,若三次均不正确刚自动退出系统。若用户输入的操作员姓名及口令正确,要完成下列工作:图4 登陆界面1) 要

12、参数设置(1) 设置一个全局变量operat,用于记录登陆系统的操作员姓名,系统中有3个地方要用到操作员的姓名和代号:一是进入主界面后在标题栏显示的操作员姓名;二是操作员在系统管理模块的口令设置中更改自己的口令,系统要知道是哪个操作员;三是退出系统时系统日志中要记录操作员的退出时间。(2) 在系统日志表log.dbf中增加一条记录,并同时记录此操作员的登录系统的时间。从权限表menuright.dbf中读出此操作员对应各菜单项的权限,并赋值给数组。调用菜单文件,显示系统主界面。2) 登陆表单界面中主要控件属性如表5所示。表5 登陆表单控件属性对象名称属性名称属性值Form1caption口令输

13、入窗口AutoCenter.T.Command1caption确定Command2caption退出3)事件代码:Form1的init事件代码:SET EXACT ON &精确比较PUBLIC ARRAY rr18 &数组用于实现菜单项权限PUBLIC i &i用于记录用户名及口令输入次数PUBLIC operat &operat用于保存操作员姓名 i=0THISFORM.Text1.Setfocus“确定”按钮(COMMAND1)CLICK事件代码:*判断密码是否正确i=i+1SELECT operatorLOCATE FOR 操作员姓名=ALLTRIM(THISFORM.Text1.Val

14、ue)DO CASECASE i=3 AND FOUND() AND THISFORM.Text2.Value=operator.口令 *输入次数未超过3次且用户名正确、口令正确 operat=THISFORM.Text1.ValueINSERT INTO log(操作员代号,操作员姓名,登录时间) VALUES(operator.操作;员代号,operator.操作员姓名,DATETIME()_SCREEN.Caption=05计专歌手管理系;统+SPACE(40)+DTOC(DATE()+SPACE(40)+操作员:+operatSELECT 权限 FROM menuright INTO

15、ARRAY rr WHERE 操作员代号;=operator.操作员代号 ORDER BY 菜单项编号 RELEASE THISFORM DO .mainmain_menu.mprCASE i=3 AND FOUND() AND THISFORM.Text2.Value!=operator.口令 *输入次数未超过3次且用户名正确、口令不正确 MESSAGEBOX(密码错误,请重输!,警告) THISFORM.Text2.Value= THISFORM.Text2.Setfocus CASE i3 &输入次数超过3次 MESSAGEBOX(禁止进入系统!,警告) THISFORM.Release

16、ENDCASE 退出按钮(COMMAND2)CLICK事件代码:RELEASE THISFORMCLEAR EVENTS4) 系统主页面当操作员的名称和密码均正确的时候,系统便会进入系统主界面使用主菜单。主菜单共分为三个分菜单项:歌手信息管理,歌手成绩管理,系统管理。如图:在歌手信息管理中分为歌手信息维护和歌手信息查询两个菜单项,在歌手信息管理中含有歌手点歌次数查询打印菜单项,在系统管理中分为:操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、 退出系统七项。以下为各个界面的成果图:界面 6、系统菜单设计1、 歌手信息管理系统的菜单在应用系统中,各个了模块是通过菜单组织在一起的。通

17、过对歌手信息管理系统功能模块的设计,可以交系统划分为3大模块:歌曲信息管理、点歌次数查询、系统管理,具体的菜单设计见表6:表6 系统菜单歌手信息管理点歌次数管理系统管理歌手信息维护点歌次数查询操作员管理口令设置歌手信息查询权限管理系统日志数据备份数据恢复退出系统在菜单设计器中实现权限设置在菜单项设计器中,通过提示选项对话框设置菜单项的跳过条件可以实现用户权限。每个操作员对每个菜单项有两种权限:0或1。“0”表示此操作员对该菜单项没有操作权,系统运行后,该菜单项为灰色。不能打开对应的表单,“1”代表该操作员对该菜单项具有操作权,系统运行后,该菜单项可用,鼠标单击菜单项能打开对应的表单。操作员对各

18、菜单项的权限保存在表文件menuright.dbf中,在登录系统时读出该操作员对应各菜单项的权限,并赋值给一个数组RR。本系统共10个菜单项,所以定义的数组也包含10个元素。6.歌手信息查询表单(歌手.dbf)的设计歌手数据信息的查询如图8,是基于RSB.dbf表,提供歌手号,姓名,全体查询。分别利用不同的命令代码方式实现查询打印功能。功能是便于使用者,歌手用户的检索查询。1) 歌手信息查询表单界面中主要控件属性如表8所示。表8歌手信息查询表单控件属性对象名称属性名称属性值Form1caption歌手信息查询AutoCenter.T.Grid1recordsourcetype1-别名recor

19、dsourcersbOptiongroup1buttoncount4value1Command1caption查询2) 各事件的代码如下:FORM1的INIT事件代码:*输入编号、姓名提示标签及文本框THISFORM.Label2.Visible=.F.THISFORM.Text1.Visible=.F.THISFORM.Text1.Setfocus()*输入起始日期、截止日期提示标签及文本框不可见THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visi

20、ble=.F.THISFORM.Command4.Visible=.F.*表格数据不可修改THISFORM.Grid1.Readonly=.T.Optiongroup1的CLICK事件代码:*选定查询类别后,设置各控件是否可见DO CASE CASE THIS.Value=1 &按歌手号查询 THISFORM.Label2.Visible=.T. THISFORM.Text1.Visible=.T. THISFORM.Label4.Visible=.F. THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Vi

21、sible=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption=请输入要查询的歌手号: THISFORM.Text1.Value= THISFORM.Text1.Setfocus CASE THIS.Value=2 &按姓名查询 THISFORM.Label2.Visible=.T. THISFORM.Text1.Visible=.T. THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visi

22、ble=.F.THISFORM.Command4.Visible=.F. THISFORM.Label2.Caption=请输入歌手姓名: THISFORM.Text1.Value= THISFORM.Text1.Setfocus() CASE THIS.Value=3 &按出生日期查询 THISFORM.Label2.Visible=.F. THISFORM.Text1.Visible=.F. THISFORM.Label4.Visible=.T. THISFORM.Label5.Visible=.T. THISFORM.Text2.Visible=.T. THISFORM.Text3.Vi

23、sible=.T. THISFORM.Command4.Visible=.T. THISFORM.Text2.Setfocus CASE THIS.Value=4 &显示全体记录 THISFORM.Label2.Visible=.F. THISFORM.Text1.Visible=.F. THISFORM.Label4.Visible=.F.THISFORM.Label5.Visible=.F.THISFORM.Text2.Visible=.F.THISFORM.Text3.Visible=.F.THISFORM.Command4.Visible=.F. SET FILTER TO GO TO

24、P THISFORM.Grid1.RefreshENDCASEGRID1的数据连接连接RSB表。一一对应该对应的数据项,COMMAND4(查询)的CLICK事件代码:*按输入的日期条件在表格中显示查询的记录SELECT rsbPUBLIC qsrq,jzrqqsrq=THISFORM.Text2.Valuejzrq=THISFORM.Text3.ValueDO CASE CASE NOT EMPTY(qsrq) AND EMPTY(jzrq) SET FILTER TO 出生日期=qsrq CASE EMPTY(qsrq) AND NOT EMPTY(jzrq) SET FILTER TO 出

25、生日期=qsrq AND 出生日期=jzrq; OTHERWISEMESSAGEBOX(未输入查询时间!,提示)ENDCASETHISFORM.Grid1.RefreshCOMMAND1的CLICK事件代码:REPORT FORM .menu1rsb_bb1.frx PREVIEW实现调用.menu1rsb_bb1.frx报表实现打印的功能。7.歌手点歌次数查询表单(点歌次数.scx)设计首先,歌手点歌次数菜单的设计与歌手信息查询菜单的设计比较类似。菜单调用 的是点歌次数.scx表单。1) 将点歌次数.dbf添加到该表单的数据环境中。2) 歌手成绩查询表单界面中主要控件属性如表9所示。 表9歌

26、手成绩查询表单控件属性对象名称属性名称属性值Form1caption歌手成绩查询AutoCenter.T.Grid1recordsourcetype1-别名recordsourcecjbOptiongroup1buttoncount3value1Command1caption打印预览设计界面如图10,界面如下:3) 各事件代码均类似于歌手信息查询的事件代码。其打印预览按钮的CLICK的事件代码为:DO CASE CASE THISFORM.Optiongroup1.Option1.Value=1 SET FILTER TO 歌手号=ALLTRIM(THISFORM.Text1.Value);

27、CASE THISFORM.Optiongroup1.Option2.Value=1 SET FILTER TO 歌手姓名;=ALLTRIM(THISFORM.Text1.Value) CASE THISFORM.Optiongroup1.Option4.Value=1ENDCASEREPORT FORM .cjb_pri.frx PREVIEW8.系统菜单的设计系统菜单的设计主要分为操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、 退出系统七项。各项调用相应的表单。在操作员管理项可实现操作员的添加,删除,编辑等功能,口令设置实现口令修改的功能,权限管理实现该操作员相应的操作权限

28、功能的设置,系统日志用来记录每个操作员的登陆动作,便于系统的安全管理,数据备份和数据恢复主要是为数据库的数据安全管理设置的。退出系统菜单功能实现退出到操作系统界面,把内存归还给操作系统。系统菜单的各项设计类似于前几项菜单的设计,代码也基本类似于歌手信息管理菜单的设计,在此不再详细给出。操作员管理的菜单运行如下:(图11)图11 歌手成绩查询课程3、建立报表文件 (1)打印歌单文件dygd.frx打印歌单功能主要是设计打印的格式,如图1-18所示 图1-18 打印歌单报表设计界面 打印歌单预览界面 打印排行榜界面 打印排行榜预览 打印歌手设计界面 打印歌手预览4菜单设计主界面歌曲管理菜单歌手管理

29、子菜单系统子菜单5、 设计总结 关于本次课程设计,本组一共9名成员,所选择的课题是。主要由以下几个部分组成:数据表的设计(歌手数据信息表、歌曲数据信息表、用户口令表);数据库的建立;表单的建立;菜单的建立。 为了提高大家的熟练程度以及数据统一的需要,本组全体成员均练习了3个数据表的建立。至于表单,根据难易程度的不同,大部分组员负责一个表单,少量组员负责2个表单。在进行数据表的输入,建立以及表单的设计的过程中,组员同时一边撰写程序设计书。虽然其中由于部分组员的基础不同,负责的表单不同,中间出现差错,所以在表单建立的过程中有些困难,但是在大家的齐心协力合作下,潍坊科技学院点歌系统得以顺利完成。 在本次程序设计过程中,我收获颇丰,也深深地感觉到团队合作的重要性,希望也能得到老师的肯定。 六、参考文献1 周永恒Visual FoxPro 基础教程 (第3版)北京:高等教育出版社,20062李魁明.visual FoxPro 程序设计(第4版).北京:地质出版社,2008.3郭元辉. visual FoxPro 程序设计.北京:科学出版社,2010.4王永国. visual FoxPro 程序设计(第2版).北京:高等教育出版社,2009

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1