。 主文件的代码编写如下: set talk off clea all set view to sjhj.vue public xm,xh xm=space(8) xh=space(8) do form fm.scx keyb '{CTRL+F4}' modi wind screen titl '欢迎使用跑跑成绩查询系统' clea do 主菜单.mpr read event quit 下图为 fm(封面)的示意图: 表格打印 打印成绩分析表 打印排序结果
上图确定键的 Click 事件的代码为: i=i+1 if thisform.text1.value="08605214" thisform.release else if i<3 &;&;允许输入三次 messagebox("密码错误,请重新输入!最多三次尝试机会^_^哦") thisform.text1.value="" &;&;清空表单 thisform.text1.setfocus &;&;获得焦点 else messagebox("密码错,明天再试吧") thisform.release endif endif 取消键的 Click 事件的代码为: quit 2、主菜单程序 按照菜单图示建立菜单的内容,一层菜单包括数据录入、数据修改、数据查询、数据统 计与管理、数据打印和退出项。
(1)退出菜单项的命令 clear events (2)数据录入项 此项有两个子菜单, 分别是学生成绩和基本信息, 用于输入新学生的各项成绩和增加最 终打印报表中的基本信息。 其中,学生成绩子菜单是过程,其代码是: close all use 学生成绩 append use 基本信息子菜单也是过程,其代码是: close all use 基本信息表 append use (3)数据修改项 此项也有两个子菜单, 也是学生成绩和基本信息, 用于修改学生的各项成绩和最终打印 报表中的基本信息。 其中,学生成绩子菜单是过程,其代码是: close all
use 学生成绩 browse use 基本信息子菜单也是过程,其代码是: close all use 基本信息表 browse use (4)数据查询项 此项包括两个子菜单,按查询和按成绩查询,它们都是命令,分别用于显示各自的 表单。 按查询的命令是“do form 输入学生” ,所出现的表单如下:
其中 Text1 中的 LostFocus 事件的代码是:xm=thisform.Text1.VALUE Form1 的 Load 事件的代码是:public xm,用来定义公共变量 xm 确定按钮的 Click 事件的代码是 use 学生成绩 locate for =trim(xm) if not found() wait window"无此学生!" else brow for =trim(xm) thisform.release endif 在 Text1 中输入学生,点击确定即可查出此学生的相关成绩。 按查询的命令是“do form 输入学生” ,所出现的表单如下:
其中 Text1 中的 LostFocus 事件的代码是:xh=thisform.Text1.VALUE Form1 的 Load 事件的代码是:public xh,用来定义公共变量 xh 确定按钮的 Click 事件的代码是 use 学生成绩 locate for =trim(xh) if not found() wait window"无此学生!" else brow for =trim(xh) thisform.release endif 在 Text1 中输入学生,点击确定即可查出此学生的相关成绩。 (4)数据统计与管理项 此项包括两个子菜单,分别是相关成绩统计和成绩
排序。 其中相关成绩统计是过程,其代码是: clear *成绩人数段 use 学生成绩 count for 最终成绩<=100 and 最终成绩>=90 to a ?"90-100 分的学生人数为:",a ? count for 最终成绩<90 and 最终成绩>=80 to b ?"80-90 分的学生人数为: ",b ? count for 最终成绩<80 and 最终成绩>=70 to c ?"80-90 分的学生人数为: ",c ? count for 最终成绩<70 and 最终成绩>=60 to d ?"80-90 分的学生人数为: ",d ? count for 最终成绩<60 and 最终成绩>=0 to e ?"80-90 分的学生人数为: ",e ? use 分数段人数 replace 不及格 with e replace 六十到七十 with d replace 七十到八十 with c replace 八十到九十 with b replace 九十到一百 with a *平均分数 use 学生成绩 calculate avg(平时成绩),avg(考试成绩),avg(最终成绩) to f,g,h ?"全班学生的平时成绩平均分数为:" ,f ?
?"全班学生的考试成绩平均分数为:" ,g ? ?"全班学生的平均分数为: " ,h ? *平均离差 i=h-60 ?"全班学生的平均离差为: " ,i ? *标准差 j=a+b+c+d+e store 0 to x,y go top for k=1