成绩管理系统中课程成绩的录入是必不可少的,本系统中课程成绩可由该课程的任课教师或具有该项使用权限的用户负责输入。
与任课教师界面相似,首先在界面左边放置一个树型结构,使用户能快速地找到要输入成绩的相关班级和课程。因课程成绩涉及到正常考试、补考等考试类型,故在右上部设置了一个选择考试类型的TComboBox对象,该对象的列表框中显示出考试类型表中的相关考试项目,但Delphi没有相关的组件可以直接从一个数据表中取得多于2列的数据,故需要编制一个函数用于将相关表中的相关字段值送入列表框中,使用户可以从列表框中直接选取。本系统中一门课程的总评成绩由平时、期中和期末这三个成绩按一定的比例计算得到,故需要放置三个TEdit组件,用于输入上述三个成绩占比。界面的右下部用于课程成绩的录入,课程成绩的录入可以直接使用TDBGrid组件,但该组件在用户使用大量成绩时不够方便,另外需要实时按三个成绩占比计算出总评成绩,使用TDBGrid组件较难实现。因此本系统中使用动态创建的方法按需创建(每个班的学生数可能是不同的)用于成绩输入和自动计算总评成绩的TEdit组件,为方便程序编写,这些TEdit组件全部创建在一个TScrollBox组件中,其结构定义请参见第一篇4.2.1中的自定义类型TEditAchievement,其中前两个用于显示学生学号和姓名,中间的三个用于每位学生平时、期中和期末成绩的输入,最后一个用于显示计算得到的总评成绩。课程成绩录入界面如图5所示。
图5 课程成绩录入界面
从图5中可以看到,需要通过“打印课程成绩单”和“打印补考名单”按钮输出相关报表,因此还需要设计一个报表界面。在Delphi 7中附带了一个Rave报表,但使用不够普及,本文还是选用了Delphi的TQuickRep组件,该组件在Delphi 7中没有直接安装在组件面板中,可以通过使用“Component”->“Install Packages”菜单命令,在出现的对话框中单击“Add”按钮后,选择TQuickRep组件所对应的包库文件(dclqrt70.bpl,在Delphi安装目录的Bin目录中)即可。报表中使用了一个标题带(Title)、一个列头带(ColumnHeader)、一个细节带(Detail)和一个汇总带(Summary),报表的详细界面如图6所示,其属性设置见表2所示。
·2024年12月目录 ·2024年11月目录 ·2024年10月目录 ·2024年9月目录 ·2024年8月目录 ·2024年7月目录 ·2024年6月目录 ·2024年5月目录 ·2024年4月目录 ·2024年3月目录 ·2024年2月目录 ·2024年1月目录 ·2023年12月目录 ·2023年11月目录