在VFP中如何使用光标阅读机
摘要:光标阅读机在学校的配置越来越普及,使用也越来越广泛,但软件还仍然大量使用厂家配送的软件,功能单一,局限性大。本文主要以VFP和欧玛阅读机为例,探讨自主开发校本软件来使用光标阅读机的方法。关键词:VFP光标阅读机机读卡动态链接库
光标阅读机(OpticalMarkReader简称OMR)是计算机的一种外围设备,它的主要功能是快速、准确地读出信息卡上填涂的信息标记,并进行处理,以数字的形式传送给计算机。它的核心部件是光电传感器,当信息卡通过传感器时,填涂和未填涂的位置会产生不同强度的反射,通过对这些不同反射进行AD(模数)转换,就完成了对信息位的检测。其实,使用光标阅读机进行客观题的阅卷,只是教学应用的一个小方面。随着教育信息化的不断深入与发展,许多教学评估、量化考核、投票选举、统计分析都可以借助光标阅读机来完成,它可以大大提高效率降低错误。正确使用光标阅读机都应具备这几个条件:光标阅读机、信息卡、电脑以及相应的软件。下面我就以常见的欧玛阅读机为例,说说在VisualFoxpro环境下如何编程使用光标阅读机以及制作和使用格式卡文件。一、编写读卡程序1.构建环境计算机系统和光标阅读机的通信通过动态链接库(DLL文件也就是驱动文件)来完成,在链接库中提供了相应的函数对阅读机发送命令和获取阅读机返回的数据。我们首先要把对应的链接库文件拷入当前目录或系统的SYSTEM32中,对应欧玛阅读机就是OMRCLIENDLL。2.基本思路新建一个读卡程序。其中主要用到两个函数:OmrS()和OmrG()。前者发送命令到阅读机(Set),后者获取阅读机返回的数据(Get),还有其它用于初始化和辅助函数,我们有机会再进一步阐述。读卡程序的基本思路如下:A.在DLL库中申请函数OmrG和OmrS;B.发送格式命令给机器,说明卡的类型和详细信息;C.发送读卡命令给机器,读一张卡,停机;D.获取机器返回的信息;E.若读卡成功返回信息“OK”,继续下一步F;若读卡错误则根据返回值显示相应的提示信息,退出;F.发送命令给机器,告诉要读取的数据长度;
fG.获取机器返回的数据(字符串);H.对返回的数据(字符串)根据需要进行截取;I.转到C进行下一张的操作。
在程序中用CMD为命令字符串变量,CMDsta为返回数据的字符串变量。3.源码开始(程序语句为斜体):
DeclI
tegerOmrSI
OMRClie
tdllStri
gBuffDeclI
tegerOmrGI
OMRClie
tdllStri
gBuffCMDstaspace(100)
注意函数名的大小写。若这两步运行正常r