论文部分内容阅读
摘 要:本文主要介绍了如何使用Visual Foxpro软件来研制对Excel文件进行单选题、填充题自动批量阅卷应用程序的技术。该技术不仅解决了教师对大批量Excel试卷中单选题、填充题的阅卷和登分的繁琐问题,同时给读者自己开发其他应用程序提供了案例。
关键词:Excel 考试系统 自动阅卷
中图分类号:TP391 文献标识码:B 文章编号:1673-8454(2009)03-0091-03
一、问题的提出
笔者于2007年6月在本刊发表了《采用非编程方法使用Excel研制单选题填空题考试和阅卷系统》,详细介绍了利用Excel进行单选题和填充题试卷设计和人工阅卷的方法,收到了许多读者来信和来电询问如何解决大批量地自动进行阅卷及成绩登录的问题。笔者进行了程序研制,并且在一年多的教学实践中进行了检验,收到了很好的效果,在此愿与广大读者共享。
二、设计思路
1.程序功能
采用Visual Foxpro软件对Excel工作表中的单选题、填充题进行批量自动地阅卷和登分。对于Excel文件的单选题填充题试卷的生成设计思路详见2007年6月本刊中《采用非编程方法使用Excel研制单选题填空题考试和阅卷系统》一文,在此省略。考生答案工作表,如图1所示。
2.在VFP中创建成绩表和标准答案表
(1)成绩表:CJ.dbf,存放所有考生的信息。表结构如表1所示。
(3)成绩表和标准答案表不提供给考生,当阅卷时和阅卷程序一起使用,安全性更好。
3.程序流程图(见图2)
3.考生答案及标准答案中有可能存在大小写字母问题,我们知道在字符串中小写字母“a”与大写字母“A”是不相等的,而考生则有可能混用,必须采用大小写转换函数upper( )统一转换成大写字母,防止因大小写混写所带来的计分错误。
4.考生答案和标准答案中空格的处理。答案中含有空格与不含空格或含空格的多少在字符串比较时结果是不一样的,若答案左右两端含有空格可采用alltrim()函数去掉,若答案字符串中间含有空格则必须通过程序来实现滤掉空格,将滤掉后的答案字符串再比较,确保计分正确。
四、操作方法
将所有以学生姓名为文件名的Excel试卷文件全部复制到同一个文件夹中,同时将成绩表CJ.DBF、标准答案表DA.DBF及程序文件KS.exe三个文件复制到同一个文件夹中,双击ks.exe文件后,计算机自动批量地阅卷和登分,阅卷界面见图3,登分界面见图4。
五、结束语
本文介绍了使用Visual Foxpro软件对Excel文件的单选题、填充题进行自动批量阅卷的实用程序的研制技术。通过对此程序设计思想的解析、技术难点的提示及程序清单的提供,希望能对有志于自己开发其他应用程序的读者提供帮助,并且在此基础上进一步完善功能。
程序清单:
set talk off
select 1
use cj.dbf
select 2
useda.dbf
selectcj
go top
do while not eof()
*根据成绩表记录中的学号和姓名组合成Excel文件名
filename1=alltrim(xh) alltrim(xm) ".xls"
filename="C:\" filename1
if FILE(filename1)
thisform.label2.visible=.t.
thisform.label2.caption="正在批阅:学号" alltrim(xh) " 姓名" alltrim(xm)
copy file
关键词:Excel 考试系统 自动阅卷
中图分类号:TP391 文献标识码:B 文章编号:1673-8454(2009)03-0091-03
一、问题的提出
笔者于2007年6月在本刊发表了《采用非编程方法使用Excel研制单选题填空题考试和阅卷系统》,详细介绍了利用Excel进行单选题和填充题试卷设计和人工阅卷的方法,收到了许多读者来信和来电询问如何解决大批量地自动进行阅卷及成绩登录的问题。笔者进行了程序研制,并且在一年多的教学实践中进行了检验,收到了很好的效果,在此愿与广大读者共享。
二、设计思路
1.程序功能
采用Visual Foxpro软件对Excel工作表中的单选题、填充题进行批量自动地阅卷和登分。对于Excel文件的单选题填充题试卷的生成设计思路详见2007年6月本刊中《采用非编程方法使用Excel研制单选题填空题考试和阅卷系统》一文,在此省略。考生答案工作表,如图1所示。
2.在VFP中创建成绩表和标准答案表
(1)成绩表:CJ.dbf,存放所有考生的信息。表结构如表1所示。
(3)成绩表和标准答案表不提供给考生,当阅卷时和阅卷程序一起使用,安全性更好。
3.程序流程图(见图2)
3.考生答案及标准答案中有可能存在大小写字母问题,我们知道在字符串中小写字母“a”与大写字母“A”是不相等的,而考生则有可能混用,必须采用大小写转换函数upper( )统一转换成大写字母,防止因大小写混写所带来的计分错误。
4.考生答案和标准答案中空格的处理。答案中含有空格与不含空格或含空格的多少在字符串比较时结果是不一样的,若答案左右两端含有空格可采用alltrim()函数去掉,若答案字符串中间含有空格则必须通过程序来实现滤掉空格,将滤掉后的答案字符串再比较,确保计分正确。
四、操作方法
将所有以学生姓名为文件名的Excel试卷文件全部复制到同一个文件夹中,同时将成绩表CJ.DBF、标准答案表DA.DBF及程序文件KS.exe三个文件复制到同一个文件夹中,双击ks.exe文件后,计算机自动批量地阅卷和登分,阅卷界面见图3,登分界面见图4。
五、结束语
本文介绍了使用Visual Foxpro软件对Excel文件的单选题、填充题进行自动批量阅卷的实用程序的研制技术。通过对此程序设计思想的解析、技术难点的提示及程序清单的提供,希望能对有志于自己开发其他应用程序的读者提供帮助,并且在此基础上进一步完善功能。
程序清单:
set talk off
select 1
use cj.dbf
select 2
useda.dbf
selectcj
go top
do while not eof()
*根据成绩表记录中的学号和姓名组合成Excel文件名
filename1=alltrim(xh) alltrim(xm) ".xls"
filename="C:\" filename1
if FILE(filename1)
thisform.label2.visible=.t.
thisform.label2.caption="正在批阅:学号" alltrim(xh) " 姓名" alltrim(xm)
copy file