论文部分内容阅读
摘要:本文论述了一个基于网络环境的打字考试软件的开发方法,本打字考试软件能在教师机上统一设定学生的打字内容、打字时间、输入法等,并能在教师机上获取学生的打字成绩。填补了市面上同类软件的空缺。
关键词:中英文录入教学;打字速度测试;考试软件开发
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2013) 07-0000-05
1开发背景
中英文录入技能是中职学生的一个基本技能,在《计算机应用基础》教学中,老师为了了解学生掌握该门技能的情况,往往需要对学生的打字速度进行考核,目前流行的打字练习软件(如金山打字通)虽有此功能,但都是单机版的,老师无法统一指定学生的打字内容、打字时间、输入法等,也无法在教师机上获取学生的打字成绩。本软件正是为了填补这一空缺而开发的。
2系统设计
系统采取C/S结构,利用ftp进行服务器端(教师机)与客户端(学生机)之间的数据通讯,客户端通过ftp从服务器端下载考试指令内容(考试时间、内容、能否登录等信息),并把考试结果上传回服务器端。
服务器端的功能如下表:
功能菜单名称 具体功能介绍
清空历史 清空以前批次的考生的考试信息
考试设置 设置打字考试的内容、时间
允许/禁止登录 允许或禁止考生登录考试
获取成绩 获取考生的考试成绩,在考试结束后执行该功能可以得到考生的最终成绩,在考试过程中也可以执行该功能获取考生的动态成绩。
帮助 软件的使用说明
客户端的主要功能是提供学生登录,然后进入打字考试界面,显示打字考试内容,并对照学生键入的内容比较对错,从而统计打字速度、计算正确率等。客户端的程序流程图如图1。
3系统实现
系统采用VisualBasic语言开发,下面论述系统关键功能的实现。
3.1服务器端的功能实现
(1)服务器端的主界面
服务器端实现的主界面如图2。
主界面使用Toolbar控件实现了软件的所有功能按钮,使用Adodc控件与考生成绩数据库捆绑,并通过DataGrid控件将考生的姓名、打字速度等信息显示出来。在主界面的下方使用一个Label控件显示已登录的考生人数,并提供了一个按钮,按下后可以将考生成绩数据库中的数据导出到Excel表格,方便用户进行编辑、打印。
(2)“考试设置”功能
“考试设置”功能包括两个方面:一是考试时间的设置,二是考试内容的设置。考试时间和考试内容分别保存在time.txt和test.txt,“保存设置”的代码如下:
IfNotTestFile=""ThenFileCopyTestFile,Replace(App.Path&" est.txt","","")
TestTime=CmbTestTime.Text
OpenReplace(App.Path&" ime.txt","","")ForOutputAs#1
Write#1,Val(CmbTestTime.Text)
Close#1
FrameCJ.Visible=True
FrameCJ1.Width=9615
FrameCJ1.Left=FrameCJ.Left
FrameCJ1.Visible=True
FrameSet.Visible=False
TxtType.Text=""
(3)“获取成绩”功能
“获取成绩”功能将考生提交上来的成绩文件汇总合并,形成服务器端的考生成绩库,其关键代码如下:
DimStrAsString,iAsInteger
DimSpeedAsSingle,PrecisionAsString,TimePassAsInteger
DimLenMuBiaoAsLong,LenShiJiAsLong
DimBanNameAsString,XueHaoAsString,XingMingAsString
DimcjFileAsString
WithAdodc1.Recordset
IfNot.RecordCount=0Then
IfNot.BOF()Then.MoveFirst
DoWhileNot.EOF()
.Delete
.MoveNext
Loop
EndIf
EndWith
cjFile=Dir("d: ypedata*.zip")
DoWhilecjFile<>""
CallCodedFile("d: ypedata"&cjFile,App.Path&"cj.zip",68)
i=1
OpenApp.Path&"cj.zip"ForInputAs#1
DoWhileNotEOF(1)
LineInput#1,Str
SelectCasei
Case3
Speed=Str
Case4
Precision=Str
Case5
TimePass=Str
Case6
LenMuBiao=Str
Case7
LenShiJi=Str
Case8
BanName=Str
Case9
XueHao=Str
Case10
XingMing=Str
EndSelect
i=i+1
Loop
Close#1
IfOTAndTimePass>120ThenExitSub
WithAdodc1.Recordset
.AddNew
.Fields("recno").Value=.RecordCount
.Fields("banname").Value=Mid(Mid(BanName,2),1,Len(BanName)-2)
.Fields("xuehao").Value=Mid(Mid(XueHao,2),1,Len(XueHao)-2)
.Fields("xingming").Value=Mid(Mid(XingMing,2),1,Len(XingMing)-2)
.Fields("speed").Value=Speed
.Fields("Precision").Value=Precision
.Fields("timepass").Value=TimePass
.Sort="speeddesc"
EndWith
cjFile=Dir
Loop
LblRenShu.Caption=Adodc1.Recordset.RecordCount
3.2客户端的功能实现
客户端的关键功能包括三个方面:一是从服务器下载考试设置信息,二是打字的对错识别、显示及统计,三是将考试成绩的上传到服务器。
(1)从服务器下载考试设置信息
考试信息保存于服务器的“te.txt”文件中,客户端(考生机)通过ftp将此文件下载到本地,其代码如下:
PrivateSubInet1_StateChanged(ByValStateAsInteger)
DimIAsInteger,SetInfoAsString
SelectCaseState
CaseicResponseCompleted
IfNotCanBeginThen
CodedFile"se.dll","se1.dll",68
Open"se1.dll"ForInputAs#1
关键词:中英文录入教学;打字速度测试;考试软件开发
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2013) 07-0000-05
1开发背景
中英文录入技能是中职学生的一个基本技能,在《计算机应用基础》教学中,老师为了了解学生掌握该门技能的情况,往往需要对学生的打字速度进行考核,目前流行的打字练习软件(如金山打字通)虽有此功能,但都是单机版的,老师无法统一指定学生的打字内容、打字时间、输入法等,也无法在教师机上获取学生的打字成绩。本软件正是为了填补这一空缺而开发的。
2系统设计
系统采取C/S结构,利用ftp进行服务器端(教师机)与客户端(学生机)之间的数据通讯,客户端通过ftp从服务器端下载考试指令内容(考试时间、内容、能否登录等信息),并把考试结果上传回服务器端。
服务器端的功能如下表:
功能菜单名称 具体功能介绍
清空历史 清空以前批次的考生的考试信息
考试设置 设置打字考试的内容、时间
允许/禁止登录 允许或禁止考生登录考试
获取成绩 获取考生的考试成绩,在考试结束后执行该功能可以得到考生的最终成绩,在考试过程中也可以执行该功能获取考生的动态成绩。
帮助 软件的使用说明
客户端的主要功能是提供学生登录,然后进入打字考试界面,显示打字考试内容,并对照学生键入的内容比较对错,从而统计打字速度、计算正确率等。客户端的程序流程图如图1。
3系统实现
系统采用VisualBasic语言开发,下面论述系统关键功能的实现。
3.1服务器端的功能实现
(1)服务器端的主界面
服务器端实现的主界面如图2。
主界面使用Toolbar控件实现了软件的所有功能按钮,使用Adodc控件与考生成绩数据库捆绑,并通过DataGrid控件将考生的姓名、打字速度等信息显示出来。在主界面的下方使用一个Label控件显示已登录的考生人数,并提供了一个按钮,按下后可以将考生成绩数据库中的数据导出到Excel表格,方便用户进行编辑、打印。
(2)“考试设置”功能
“考试设置”功能包括两个方面:一是考试时间的设置,二是考试内容的设置。考试时间和考试内容分别保存在time.txt和test.txt,“保存设置”的代码如下:
IfNotTestFile=""ThenFileCopyTestFile,Replace(App.Path&" est.txt","","")
TestTime=CmbTestTime.Text
OpenReplace(App.Path&" ime.txt","","")ForOutputAs#1
Write#1,Val(CmbTestTime.Text)
Close#1
FrameCJ.Visible=True
FrameCJ1.Width=9615
FrameCJ1.Left=FrameCJ.Left
FrameCJ1.Visible=True
FrameSet.Visible=False
TxtType.Text=""
(3)“获取成绩”功能
“获取成绩”功能将考生提交上来的成绩文件汇总合并,形成服务器端的考生成绩库,其关键代码如下:
DimStrAsString,iAsInteger
DimSpeedAsSingle,PrecisionAsString,TimePassAsInteger
DimLenMuBiaoAsLong,LenShiJiAsLong
DimBanNameAsString,XueHaoAsString,XingMingAsString
DimcjFileAsString
WithAdodc1.Recordset
IfNot.RecordCount=0Then
IfNot.BOF()Then.MoveFirst
DoWhileNot.EOF()
.Delete
.MoveNext
Loop
EndIf
EndWith
cjFile=Dir("d: ypedata*.zip")
DoWhilecjFile<>""
CallCodedFile("d: ypedata"&cjFile,App.Path&"cj.zip",68)
i=1
OpenApp.Path&"cj.zip"ForInputAs#1
DoWhileNotEOF(1)
LineInput#1,Str
SelectCasei
Case3
Speed=Str
Case4
Precision=Str
Case5
TimePass=Str
Case6
LenMuBiao=Str
Case7
LenShiJi=Str
Case8
BanName=Str
Case9
XueHao=Str
Case10
XingMing=Str
EndSelect
i=i+1
Loop
Close#1
IfOTAndTimePass>120ThenExitSub
WithAdodc1.Recordset
.AddNew
.Fields("recno").Value=.RecordCount
.Fields("banname").Value=Mid(Mid(BanName,2),1,Len(BanName)-2)
.Fields("xuehao").Value=Mid(Mid(XueHao,2),1,Len(XueHao)-2)
.Fields("xingming").Value=Mid(Mid(XingMing,2),1,Len(XingMing)-2)
.Fields("speed").Value=Speed
.Fields("Precision").Value=Precision
.Fields("timepass").Value=TimePass
.Sort="speeddesc"
EndWith
cjFile=Dir
Loop
LblRenShu.Caption=Adodc1.Recordset.RecordCount
3.2客户端的功能实现
客户端的关键功能包括三个方面:一是从服务器下载考试设置信息,二是打字的对错识别、显示及统计,三是将考试成绩的上传到服务器。
(1)从服务器下载考试设置信息
考试信息保存于服务器的“te.txt”文件中,客户端(考生机)通过ftp将此文件下载到本地,其代码如下:
PrivateSubInet1_StateChanged(ByValStateAsInteger)
DimIAsInteger,SetInfoAsString
SelectCaseState
CaseicResponseCompleted
IfNotCanBeginThen
CodedFile"se.dll","se1.dll",68
Open"se1.dll"ForInputAs#1