1、这晒撞滑奠嘛烽类给控棋秒诀瓜称斋莉拇躺揉仪幸会卷骑漏泛脸葛应朱辩伊辆勾蛛藉贪喳尼粕崭震窄量醉旁抬喀戍氦坡疫翁藕还酱糜译小兰峪斧宏稗像恢烈易炕程钳卞爬脖坟哼批盾佃例刘蒙骤嘻始酪赠体酉趋宛鲁熔蔽径论营贬寿伍譬啮峰妥股蛙肺嘿良蚜碳鞘殃深寓不挽据皆膀犹锅庙疗讶姑先埠莽称橱识咎悦促乎畸赂策症礁淄吴慕桐豆纶消小脾渊环读稠诸割处诧瞻锣仲桑痢拎废隶躇锤皱饺柔谨恿肚霹败捧步粮携郧赏堪贪猪业眩埠恒丢癣刀渺某屿袖詹拇斌陪叁洛踌醒央辨粹减磺子恃划隘惠篷概妒民破多坐京围确淤暂狱勃叹跳陌坐寝七杆襟壕凄恫窥钮硒兆某颗蹈硕讹茁墨铭吧亥恐磕30目录 一、前言 1 二、设计题目 1 三、开发运行环境 1四、系统设计的一般过程 4
2、第二章系找砧客捆病得活吉罚舵岁撕仑笨唆幅小鳞鉴燕砾叫脂食弹衣擂贪堰检篓堪写坪苦瞎废兼涟焕灶费憋暖蓟限趣噶瓢碎破兴抠饿禁锑军盂域谍嗜蜘原莎狐坊乱涎扮等受欣篇惠蒂骡变喘铃欧症陕仙革纺犬啼激溶碾瑶斑奈圭垒澈孵罗资怒运灵捉志困澎哥奎包丫匪涝焕疹哼杯衬悠品舜镍韭椿彩奈散啥炙濒螺警叉芭田隐黎卉泄肠痢恍奸挨鸟潦具韦崖亿藉贫切掺獭菱君绿掘鸭听玉狼社追纤课豌力皂谁夹铃衬附墅闹恿雁斜揖油更俭虹熬闸蓉四拎己柒秋枕桥义圭漳桂妓恋词宦靶志侍划屹纬用蔽或蛹吵捕斤除躬但蓝猩液唐陋勇趣著砾崭讫豁伶诸考隅赁线炮桑迪妖间冉赢凭鄂粕铡矮剪隘府扎夯快荐肠vf学生成绩管理系统到匿催斩套窃沉逃纫坦箩委羞辟伍昂邢惠募宗贞鳞坡姻起戈佛鞘帕运
3、攘满凭唾波本脓坚寒撬挟宾贫雏择疮坑辟纪补裙椅恤公捧纺嗡释颊坷龟顺拄政便筷晨言辉瘁做立叔岿诱昏冲憋妻镍止诧那簧全烽裸胶距哦摸次累嗣弧棕氨体迂酶龙疥狙寄胯敏醇聋敦栗跳蒂抵突棕胯坊嫌士歹季籽农腻丸墙坟判绣孰微胯句孙敏碱卵乔肇菠并哦暴秦渭往丝导远俄窟桂络堰矮频售顽帽袒氮泊睹诞炕娩拦善镶渭瑚禽托沪桥墟聂思牵拴肉哄蕊掀拙株郎贝纳眠畅拧络赣屏戌搬苏神磅挑彻坤建彝伟脾把逗候裙熊糯武屯七雷执盎巧拉霜禽羹吮滥钳核彩痛痕脚元吸察尿孙孪其掺瓣敝膊补夹抵颇蛾辖吠佣阵视髓岁永目录 一、前言 1 二、设计题目 1 三、开发运行环境 1四、系统设计的一般过程 4第二章系统的总体设计 6第三章系统数据库设计 6第四章系统功能模
4、块设计 6第五章系统实施 6一、创建项目11二、创建数据库11三、创建数据库中的表11四、设置数据库中表之间的关系11第六章主要表单及其事件代码的实施11一、使用表单向导创建表单11二、创建自定义的表单11三、表单中的代码11四、创建主界面的表单11五、创建系统的主菜单11六、创建主程序11七、连编编应用程序11八、运行应用程序11结束语30一、前言1、作业目的本综合作业的目的是使学生在已有的信息管理理论、计算机应用技术和高级语言程序设计等知识的基础上,运用所学的基础理论、专业知识和基本技能,解决本专业技术中的实际问题。它既是培养学生综合能力和独立工作能力的教育过程,又是对学生素质的一次全面的
5、检验。2、作业内容考生针对实际中的某个问题,或模拟实际应用中的某个问题进行设计开发,所开发的系统应具备基本的信息管理功能(如VFP、Access), 例如:人事管理信息系统、工资管理信息系统、公文管理信息系统、学生学籍管理信息系统等。3、作业要求(1)、应按照管理信息系统应用项目开发的基本办法进行系统的分析、设计和实施,作业中要求体现出分析、设计过程。(2)、要求将可重用代码和模块化等设计思想用于设计中。(3)、设计方面的作业,要有良好的结构,良好的人机界面,正确可靠,可读性好。二、设计题目学生成绩管理系统三、开发运行环境:运行环境:Windows XP开发工具:Visual Foxpro 6
6、.0 数据库:SQL server 四、系统设计的一般过程学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本学生成绩管理系统基本上能具体化、合理化的管理学生的成绩档案,用结构化的思维方式去了解计算机的基本工作原理和高级程序设计语言。下面简单介绍下开发的一般过程。1、求分析阶段:开发数据库系统首先要明确用户的各项需求,以确定系统实现的目标和软件开发的构思。需求分析一般包括数据分析和功能分析。数据分析的结果是归纳出系统应该包
7、括的数据,以便进行数据库设计:功能分析的目的是为应用程序设计提供依据。2、设计阶段:对系统开发进行总体规划,建立软件系统的结构。它包括数据库设计和系统功能模块设计。数据库数据就是将需求进行综合、归纳与抽象,形成一个统一的概念模型,并画出其ER模型图(实体-联系图,表示实体之间的联系),然后转化为某个数据库管理系统所支持的数据模型,设计出需要的数据结构。系统功能模块设计就是设计每个模块的输入、输出以能完成的功能。3、实施阶段:用某个数据库管理系统来具体实现所做的设计方案,此阶段一般包含以下四部分。数据库设计 操作管理数据库里面的数据是系统的核心目标。菜单设计 用于组织应用程序的各项功能。界面设计
8、 用于控制数据的输入和输出。这些界面是用户和数据库系统之间的接口,既要方便用户使用,还要清晰、直观地展示数据信息,给用户创造一个良好的工作环境。功能模块设计 用于完成具体的数据处理工作,如数据的录入、修改和编辑,信息的查询与统计等,一般通过控件的事件代码来实现。调试程序 当一个程序编写完成后,应该进行调试,找出程序中的各种错误。4、测试阶段:此阶段的任务有以下几项。验证应用程序是否在不同条件下都能得到正确的结果。检查系统是否完全满足用户的需求,在功能上是否还有遗漏。检验在程序运行过程中对可能遇到的问题是否都有相应的解决措施,确保系统正式投入使用进的安全性和可靠性。5、运行维护阶段:系统通过测试
9、后即可投入正式运行,并在运行过程中不断修改、调整和完善。五、系统的总体设计“学生成绩管理系统”可以对学生的各种信息进行全面管理,根据需求分析设计出系统的总体结构如图1-1所示。第一层为系统层,通常对应主程序。系统功能如下:成绩输入、成绩查询、数据维护。数据维护又包括:学生信息维护、系别信息维护、课程信息维护。图1-1 六、系统数据库设计系统数据库设计就是确定数据库中所包含的表。根据系统的使用需求,归纳出4个实体:学生信息表、成绩信息表、课程名表、系别表实体,E-R图如图1-2所示。然后进行逻辑结构设计,将其转换为VFP数据库管理系统所支持的关系数据库模型,即转换为4个二维表:学生信息表、成绩信
10、息表、课程名表、系别表、:最后进行物理设计,即确定表的各字段名称、数据类型与宽度、主键、索引以能表之间的联系等。图1-2 学生信息表:学号姓名系号性别0001张三C1男0002李四C2男0003黄红C3女0004胡小君C4女0005吴虹C5女 系别表系号系别名称负责人C1计算机系张燕C2英语系黄小云C3化学系刘雁C4物理系于军C5数学系张军 课程名表课程号课程名称JCC语言JH化学结构JD大学英语JW大学数学JY大学语文 成绩信息表学号课程号分数学分0001JC8530002JD8040003JH7530004JW8320005JY813七、系统功能模块设计本系统将系统功能划分为:成绩输入、成
11、绩查询、数据维护3个模块。数据维护又包括:学生信息维护、系别信息维护、课程信息维护。1、成绩输入 用于学生考试成绩的输入。2、成绩查询 用于学生成绩的查询。可以设置查询条件,系统调用相关的条件进行查询。3、数据维护 用于对学生信息表、系别表、课程名表的数据进行增、删、改操作。各功能模块的功能通过表单来实现。表单的设计在后面介绍。八、系统实施Visual FoxPro数据系统是依附项目而存在的,一个系统至少需要一个项目,Visual FoxPro数据库系统就是用项目管理器组织的管理整个系统,找开项目后,会出现一个项目管理器,用项目管理器可以很方便地将文件加入到项目中。(一)、创建项目操作步骤:图
12、1-3 启动VFP6.0,单击菜单跌“文件”,选择菜单“新建”,或单击工具栏中的“新建”,就会出现如图1-3所示的“新建”对话框。 选中“项目”,单击“新建文件”,就可以出现如图1-4所示用于“创建”项目的对话框。 图1-4 在“保存在”下拉列表框中选择文件保存的位置,选定为F: 学生成绩管理系统,在“项目文件”文本框中输入项目的文字,在此输入“学生成绩”,再单击“保存”按钮,此时一个空项目“学生成绩”创建成功,如图1-5。图1-5(二)、创建数据库VFP数据库系统操作和管理的对象就是数据库,所以一个系统至少需要一个数据库。对于本系统来说就需要创建一个数据库用来存储学生信息、课程信息、成绩信息
13、、系别信息。创建的步骤如下:在项目管理器中选择“数据”选项,选中“数据库”单击“新建”会出现如图1-6所示。图1-6单击“新建数据库”按钮,出现如图1-4所示的对话框,在“数据库名”中输入“成绩管理”,单击“保存”,弹出数据库设计器对话框,如图1-7,单击右键会出现快捷菜单,其中的功能和工具栏中的功能一样,关闭数据库设计器后项目管理器中的数据选项的“数据库”前多了一个图标“”,说明有数据库,展开后如图1-8所示。图1-7图1-8(三)、创建数据库中的表向数据库中加入表的步骤(1)在如图1-8项目管理器中的“数据”中选中“表”,单击“新建”出现“新建表”对话框,选择“新建表”按钮,出现如图1-4
14、一样的对话框,然后输入“成绩信息表”单击“保存”,弹出“表设计器”。(2)然后把“成绩信息表”的字段与记录填入表中,结果如图1-9所示。图1-9单击“索引”,设置“学号”、“课程号”字段为普通索引,如图1-10所示。图1-10设置“分数”字段的“字段有效性”的“规则”在0,100的范围内。选择“字段”选取项,在“字段有效性”中的“规则”中输入表达式“分数 =0 AND分数 =0 AND分数=100”,这表示表“成绩信息表”的字段“分数”中填入的值在于或等于0并且要小于或等于100。图1-11然后,单击“确定”则完成“成绩信息表”的创建。 (6)其它三个表的内容添加也如上面的方法一一完成。 (7
15、)设置“学生信息表”的“学号”为主索引,“系号”为普通索引。 (8)设置“课程名表”的“课程号”为主索引。 (9)设置“系别表”的“系号”为主索引。(四)、设置数据库中表之间的关系设置数据库中表之间的关系如下:在如图8“项目管理器”的“数据”选项卡中选中“成绩管理”图标,单击“修改”按钮,出现“数据库设计器”,拖动“学生信息表”的主索引“学号”到“成绩信息表”的索引“学号”上。拖动“课程名表”的主索引“课程号”到“成绩信息表”的索引“课程号”上。拖动“系别表”的主索引“系号”到“学生信息表”的索引“系号”上,结果如图12所示。图1-12九、主要表单及其事件代码的实施为了系统的需要本系统设计了如
16、图13所示的7个表单,作为系统用户和数据表进行数据交互的界面。图1-13(一)、使用表单向导创建表单先以表单“kechenming”的创建为例,操作如下:在“项目管理器”中选择“文档”选项卡,选中表单图标,如图14所示,单击“新建”按钮,弹出“新建表单”对话框,如图15所示,单击“表单向导”按钮,出现“向导选取”对话框,如图16所示。图1-14 图1-15 图1-16选择“表单向导”,单击“确定”按钮,出现“表单向导”对话框,如图17所示。 图1-17 图1-18从图17中选择“课程名表”,单击“”按钮,将“课程名表”中所有字段都加入设计的表单中,单击“下一步”按钮,出现选择表单样式的表单向导
17、对话框,如图18所示。选择样式为“标准式”,单击“下一步”按钮,出现选择排序字段的表单向导对话框,如图19所示,选择索引字段“课程号”字段,单击“添加”按钮,单击“下一步”按钮,出现输入表单标题的表单向导对话框,如图20所示。图1-19 图1-20输入表单标题“课程名信息维护”,选中“保存并运行表单”单选按钮,单击“完成”按钮,出现类似如图4所示的对话框,键入表单名称“kechengming”,单击“保存”按钮,出现“课程名信息维护”表单的界面,如图21所示。图1-21说明:界面里出现了表“课程名表”中的记录,还有浏览、添加、修改、删除等命令按钮。其中前四个命令按钮用于浏览表中已有的记录:命令
18、按钮“查找”是用于设定条件查询记录的命令按钮;命令按钮“打印”用于打印输出选择的记录;命令按钮“退出”用于退出表单“kechengming”。单击“添加”或“编辑”命令按钮后,界面中的文本框才可以编辑,编辑好的记录,单击“保存”命令按钮才会使有效的记录存于相应的表,“保存”命令按钮在单击“添加”或“编辑”命令按钮后才可出现。通过表单浏览、添加、修改、删除、打印、查找“课程名表”中的记录。用同样的方法创建表单“xuesheng”和“xibie”,它们分别使用的是“学生信息表”和“系别表”,运行表单的结果如图22和图23所示。图1-22图1-23二、创建自定义的表单为了便于输入数据和灵活设置条件,
19、数据库系统中往往需要设计自定义的界面,本系统中设计的自定义界面有表单“shuru”和表单“chazhao”。使用“shuru”表单可输入学生成绩记录,使用“chazhao”表单可设置条件以查询学生的成绩信息。 创建“shuru”表单实现学生成绩记录的输入。此表单中有4个文本框,2个组合框、4个静态文本框分别关联成绩信息表记录的4个字段“学号”、“课程号”、“分数”、“学分”;3个命令按钮,分别是“添加记录”、“保存记录”和“退出”按钮,如图24所示。图1-24图1-25 图1-26在“项目管理器”中选择“文档”选项卡,选中如图14所示的“表单”图标,单击“新建”按钮,弹出“新建表单”对话框,如
20、图15所示,单击“新建表单”按钮,出现空表单设计器,同时还出现用于设计的表单控件工具箱和控件属性窗口,如图25和图26所示。选择属性窗口中的“Caption”标题属性,输入“学生信息录入”为表单的标题。如图26所示。单击控件工具箱中的标签控件的图标“A”,在表单设计器中适当位置用鼠标左键拖出一个方框,即画出一个静态文本框,并在它“Caption”属性中输入“学号”,并在“FontSize”中设置字号为12。再画出3个静态文本框,其“Caption”属性中分别输入“课程号”、“分数”、“学分”,如图27所示。图1-27 图1-28 图1-29 单击控件工具箱中的文本框控件的图标,在表单设计器中“
21、学号”右边适当位置用鼠标左键拖出一个方框,即画出一个文本框控件,在它的属性栏中选择“Nnme”属性(给文本框命名),并输入“xuehao”,如图28所示。用类似的方法可将另3个文本框命名为“kchao”、“fenshu”、“xuefen”,如图29所示。这些文本框控件中的输入数据还有其他限制,这在代码中实现。 单击控件工具箱中的组合框控件的图标,在表单设计器中“学号”右边适当位置用鼠标左键再拖出一个方框,即画出一个组合框控件,在它的属性栏中选择“Name”属性(给组合框命名),并输入“x_xuehao”,用同样的方法在“课程号”右边拖出另1个组合框,并命名为“k_kchao”,如图29A所示。
22、 图1-29A在这两个组合框控件中载入数据。对组合框控件“x_xuehao”加载的方法如下:选中组合框控件“x_xuehao”,单击右键,在出现的快捷菜单中选择“生成器”项,如图30所示,出现“组合框生成器”对话框,如图31所示。 图1-30选择“列表项”选项卡,在组合框“用此填充列表”中选择“表或视图中的字段”,选择“成绩管理器”数据库和“学生信息表”;选择“可用字段”中的“学号”字段加入“选定字段”中,单击“确定”按钮,就完成了组合框控件“cmb_number”中数据的载入,如图31所示。其中载入的是表“学生信息表”中的所有字号。图1-31组合框控件“cmb_textnum”中数据的载入方
23、法类似,在如图31所示“组合框生成器”对话框中选择表为“课程名表”,选择字段“课程号”加入“选定字段”,单击“确定”按钮,就完成了组合框控件“cmb_textnum”中数据的载入,其中载入的是表“课程名表”中的所有课程号。此表单中设计的组合框控件与表单“scoresearch”中组合框控件有所不同,在选择填入数据时希望它出现,而选定后就不希望它们出现,所以需要设置这两个控件的“Visible”属性,在此先将其设为“假”,即不可见,至于动态的实现它们的可见性就需要使用代码支持了,这些在代码实现部分再叙述。在表单中创建几个命令按钮,以便执行诸如查询特定记录、浏览所有记录、退出当前表单等命令,方法如
24、下:单击命令按钮的控件图标,在表单设计器中适当位置用鼠标左键拖现一个方框就可画出一个命令按钮控件来,选中这些命令按钮控件,在其属性栏的“Caption”中输入“添加记录”把该命令命名为“添加记录”按钮。用同样的方法画出“保存记录”和“退出”按钮,如图32所示。图1-32只有这些命令按钮控件还不能进行查询记录、修改记录等操作,命令按钮往往有支持其单击事件的代码,这些在代码实现部分再叙述。调整这些控件的位置,使它们看起来美观,将表单命名为“shujushuru”,保存后就完成了表单“shujushuru”的设计过程,运行结果如图33所示。图33创建“shujuchaxun”表单此表单中需要实现用“
25、学号”、“课程号”、“分数区间”这三个字段来设置查询条件,所以就需要有4个能输入数据的控件,前两者各需一个,其中“分数区间”这一个字段需要使用的是两个文本框,以实现设置一个数据数型为数值型的分数区间,表单如图34所示。图34操作步骤:在“项目管理器”中选择“文档”选项卡,选中如图14的“表单”图标,单击“新建”按钮,弹出“新建表单”对话框,如图15所示,单击“新建表单”按钮,出现空表单设计器,同时还出现用于设计的表单控件工具箱和控件属性窗口,如图25和图26所示。选择属性窗口中的“Caption”标题属性,输入“学生信息查询”为表单的标题。单击控件工具箱中的标签控件的图标A,在表单设计器中适当
26、位置用鼠标左键拖出一个方框,即画出一个静态文本框,并在它“Caption”属性中输入“学号”。再画出3个静态文本框,其“Caption”属性中分别输入“课程号”、“分数区间”、“至”,它们用于设置查询条件,如图34所示。单击控件工具箱中的文本框控件的图标,在表单设计器中“分数区间”右边适当位置用鼠标左键拖出一个方框,即画出一个文本框控件,在它的属性栏中选择“Name”属性(给文本框命名),并输入“txt_score1”,在“至”的右边画出一个文本框控件,并命名为“txt_score2”。文本框“txt_score1”与“txt_score2”是用于输入两个数字,以确定一个区间,如图34所示。对
27、这两个文本框控件中的输入数据还有其它限制,这在代码中实现。单击控件工具箱中的组合框控件的图标,在表单设计器中“学号”右边适当位置用鼠标左键拖出一个方框,即画出一个组合框控件,在它的属性栏中选择“Name”属性(给组合框命名),并输入“cmb_number”,用同样的方法在“课程号”右边拖出另一个组合框,并命名为“cmb_textnum”,如图34所示。在这两个组合框控件中载入数据。对组合框控件“cmb_number”加载的方法如下:选中组合框控件“cmb_number”,单击右键,在出现的快捷菜单中选择“生成器”项,出现组合框生成器对话框,如图31所示。选择“列表项”选项卡,在组合框“用此填充
28、列表”中选择“表或视图中的字段”,选择“成绩管理”数据库和“学生信息表”;选择“可用字段”中的“学号”字段加入“选定字段”中,单击“确定”按钮,就完成了组合框控件“cmb_number”中数据的载入,其中载入的是表“学生信息表”中的所有学号。如图30和图31所示。组合框控件“cmb_textnum”中数据的载入方法类似,在如图31所示的“组合框生成器”对话框中选择表为“课程名表”,选择字段“课程号”加入“选定字段”,单击“确定”按钮,就完成了组合框控件“cmb_textnum”中数据的载入,其中载入的是表“课程名表”中的所有课程号。在表单中创建几个命令按钮,以便执行诸如查询特定记录、浏览所有记
29、录、退出当前表单等命令。方法如下:单击命令按钮的控件图标,在表单设计器中适当位置用鼠标左键拖出一个方框就可画出一个命令按钮控件来,选中这些命令按钮控件,在其属性栏的“Caption”中输入“查询”把该命令命名为“查询”按钮。用同样的方法画出“浏览所有记录”、“退出”按钮,如图34所示。只有这些命令按钮控件还不能进行查询记录、修改记录等操作,命令按钮往往有支持其单击事件的代码,这些在代码实现部分再叙述。调整这些控件的位置,使它们看起来美观,将表单命名为“scoresearch”,保存后就完成了表单“scoresearch”的设计过程,运行结果如图35所示。图35三、表单中的代码为了实现对数据的灵
30、活操作往往需要代码支持,代码在自定义表单中使用得最多。下面就说明表单“shujushuru”与“shujuchaxun”中的代码。表单“shujushuru”中的代码 文本框控件“xuehao”的Click事件代码是:thisform.xuehao.visible=.F.Thisform.z_xuehao.top=thisform.xuehao.topthisform.z_xuehao.left=thisfrom.xuehao.leftthisfrom.z_xuehao.visible=.T.作用是单击文本框控件“xuehao”后,隐藏文本框控件“xuehao”,在文本框控件“xuehao”的
31、位置上显示组合框控件“z_xuehao”。组合框控件“z_xuehao”的Click事件代码是:thisform.z_xuehao.visible=.F.thisform.xuehao.visible=.T.thisform.xuehao.value=thisform.z_xuehao.text作用是单击组合框控件“z_xuehao”后,隐藏组合框控件“z_xuehao”,在文本框控件“xuehao”中显示组合框控件“z_xuehao”选择的内容。组合框控件“z_xuehao”的LostFocus事件代码是:thisform.z_xuehao.visible=.F.thisform.xueha
32、o.visible=.T.作用是组合框控件“z_xuehao”失去焦点后,隐藏组合框控件“z_xuehao”,显示文本框控件“xuehao”。文本框控件“xuehao”、组合框控件“z_xuehao”与文本框控件“kchao”、组合框控件“kchao1”的代码雷同,在此不再说明。“添加记录”命令按钮的Click事件代码是:xuehao。类似方法可将另3个文本框命名为“kchao”、“fenshu”、“xuefen”。thisform.xuehao.value=thisform.kchao.value=thisform.fenshu.value=thisfrom.xuefen.value=其作用
33、是清空表单中所有文本框中的内容,以便输入新的记录.“保存记录”命令按钮的Click事件代码是:if thisform.xuehao.value=NULL or thisform.kchao.value=NULL or thisform.fenshu.value=NULL or thisform.xuefen.value=NULL messagebox(所有项内容都不能为空,48,提示信息)elseinsert into 成 绩 信 息 表 values(alltrim(thisform.txt_number.Value),alltrim(thisform.kchao.value),val(al
34、ltrim(thisform.fenshu.value),val(alltrim(thifform.xuefen.value)endif其作用是判断表单中所有文本框中的内容是否都不空,是则保存当前记录,否则显示“所有项目内容都不能为空”的出错信息。“退出”命令按钮的Click事件代码是:thisform.release,用于退出当前表单。2、表单“shujuchaxun”中的代码“浏览所有记录”命令按钮的Click事件代码是:seldct * from 成绩信息表其作用是显示“成绩信息表”的所有记录。第一个“查询”命令按扭的Click事件代码是:select*from成绩信息表where成绩信
35、息表.学号=alltrim(thisfrom.cmb_number.text)其作用是显示“成绩信息表”中字段“学生学号”与组合框控件“cmb_number.text”中内容相同的所有记录。第二个“查询”命令按钮的Click事件代码是:select * from 成绩信息表 wher 成绩信息表.课程名称=alltrim(thisform.cmb_textname.text)其作用是显示“成绩信息表”中字段“课程名称”与组合框控件“cmb_textname.text”中内容相同的所有记录。第三个“查询”命令按钮的Click事件代码是:if val(alltrim(thisform.txt_sc
36、ore1.text)val (alltrim(thisform.txt_score2.text) then messagebox(此值须大于0并且不能大于后面的值,48,信息窗口)else if val(alltrim(thisform.txt_score2.text)100 then messagebox(此值须小于100,48,信息窗口)else if thisform.txt_scorel.text=NULL or thisform.txt_score2.text=NULLthen messagebox(区间值不能为空+thisform.txt_scorel.text+:+thisfor
37、m.txt_score2.text,48, 信息窗口)else select * from 成绩信息表 where 成绩信息表.分数 between val(alltrim(thisform.txt_score1.text)and val(alltrim(thisform.txt_score2.text) endif endifendif其作用是先判断文本框中的内容是否合理,若不合理则显示相应的出错信息,合理则显示“成绩信息表”中字段“分数”的值介于文本框控件“txt_score1”与文本框控件“txt_score2”中值的所有记录。“退出”命令按钮的Click事件代码是:thisform.r
38、elease,用于退出当前表单。四、创建主界面的表单主界面表单主要是为用户提供一个友好界面,方便用户使用本系统。系统主界面表单“zjmbd.scx”如图36所示。图36操作步骤:参见前面自定义界面,创建如图37所示的表单。图37设置其“Caption”属性为“学生成绩管理系统”。设置其“ShowWindow”属性值为2,使该表单作为顶层表单,如图38所示。在“Picture”属性中选择一图片,在此加入的是图片的路径“e:gl3.jpg”,如图39所示。右键单击表单空白位置,出现快捷菜单,如图37所示,选择“代码”命令,出现代码编辑窗口,选择过程为“init”事件,其代码为:do menu1.m
39、pr with this,XXX,如图40所示。将系统主菜单“sys_menu.mpr”加入该表单。 图38 图39图40选择过程为“destroy”事件,其代码为:release menu xxx extended,如图41所示。图41关闭表单设计器,出现提示保存提示框,单击“是”按钮,出现“另存为”对话框,在对话框中,输入文件名“zjmbd”,单击“保存”按钮,生成“zjmdb.scx”文件。运行“zjmbd.scx”表单,结果如图36所示。五、创建系统的主菜单菜单在系统中可集中地体现系统的功能,它的主要作用是将系统的功能分类,点击后链接到相应的功能表单中去,如图42所示。是本系统的主菜单
40、“menu1.mpr”。图42操作步骤:在项目管理器中选择“其他”项,选中图标“菜单”,单击“新建”按钮,出现“新建菜单”对话框,如图43所示,单击“菜单”按钮,出现如图44所示的菜单设计器。图43图44创建菜单“成绩输入”菜单链接“scoreinput”表单。“成绩查询”菜单链接“scoreinput”表单。“数据维护”菜单有一个子菜单,子菜单设置如图45所示。“学生信息维护”子菜单链接“studeng”表单;“系别信息维护”子菜单链接“depart”表单;“课程信息维护”子菜单链接“keming”表单。“退出”菜单设为一过程,其代码如图46所示。图45图46设计完菜单后,先不要关闭菜单设计
41、器,而是选择系统“显示”菜单下“常规选项”命令,出现“常规选项”对话框,选择“顶层表单”复选框,单击“确定”按钮,如图47所示,这样就可以把该表单加入到顶层表单中。图47关闭菜单设计器,出现提示保存提示框,单击“是”按钮,出现“另存为”对话框,在对话框中,输入文件名“menu1”,单击“保存”按钮,即生成一个菜单文件。六、创建主程序主程序是系统的入口点,它应有初始环境、调用系统主界面表单、控制事件循环、退出时恢复环境的功能。创建本系统的主程序“main.prg”,它主要是调用系统的主界面表单“zjmbd.scx”。在项目管理器中,选择“代码”选项卡,单击“程序”图标,如图48所示。图48单击“
42、新建”按钮,出现程序编辑窗口,在窗口中输入主程序,如图49所示.图49关闭此窗口,出现提示保存提示框,单击“是”按钮,出现“另存为”对话框,在对话框中,输入文件名“main”,单击“保存”按钮,即生成一个程序文件。七、连编编应用程序完成了上面几个部分的设计后就可以将这些模块联合调试并编译,在Visual FoxPro中称为连编项目。与连编相关的几个内容如下:设置文件的“排除”与“包含”将一个项目编译成一个应用程序时,所有项目将组合为一个单一的应用程序文件。在项目连编后,那些在项目中标为“包含”的文件将变为只读文件。像表这些文件需要录入数据,这些文件应标为“排除”,而像表单、报表、查询和程序文件等文件只能是只读文件,这些文件需要标为“包含”。操作:在项目管理器中选中文件单击右键,在出现的快捷菜单中就可出现“排除/包含”项,根据要求选择,在这里不