⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 omr.bas

📁 此源码是针对配套的光学标记阅读机使用
💻 BAS
📖 第 1 页 / 共 2 页
字号:
Attribute VB_Name = "Module2"
Option Explicit
'omr设备参数
Public Device As Long
Public IsReading As Boolean
Public omrserial As Long
Public omrtype As Long
Public omrreadtotal As Long
'卷面分数参数设置
Public fenshu1 As Double
Public fenshu2 As Double
Public fenshu3 As Double
Public zf As Double
' /////////////////////////////////////////////////////////
' ////////                                        /////////
' ////////                初始化函数              /////////
' ////////                                        /////////
' /////////////////////////////////////////////////////////

Declare Function OMR_GetDeviceList Lib "txomr.dll" (ByVal lpszBuffer As String) As Long
' 功能:此函数用来获取泰兴公司OMR设备的名称列表。
' 参数:
' lpszBuffer:存放返回的名称列表的字符串,每个设备名称之间用"\r\n"分隔。
'             请在调用前为lpszBuffer指针分配好空间。
' 返回值:
'   成功,返回lpszBuffer中实际存放的字符串长度,包括代表字符串结尾的"\0"。
' 说明:泰兴公司目前的OMR设备包括OMR11B, OMR31A, OMR98A, OMR98B, OMR98B-D, OMR50U
'       (其中"-D"表示双OMR扫描头)
'     函数所返回的字符串长度一般不超过60个字节


Declare Function OMR_GetDeviceName Lib "txomr.dll" (ByVal lDeviceNum As Long, ByVal lpszBuffer As String) As Long
' 功能:此函数用来获取泰兴公司某OMR设备的名称。
' 参数:
'   lDeviceNum:设备号
'   lpszBuffer:存放返回设备名称的字符串
' 返回值:
'   成功,返回lpszBuffer中实际存放的字符串长度
'   失败,-1
' 说明:若lDeviceNum==0,则表示获取当前设备的名称;
'     函数所返回的字符串长度一般不超过10个字节


Declare Function OMR_GetDeviceNum Lib "txomr.dll" (ByVal lpszBuffer As String) As Long
' 功能:此函数用来获取泰兴公司某OMR设备的编码。
' 参数:
' lpszBuffer:设备名称的字符串(字母必须大写)
' 返回值:
'   成功,返回OMR设备的编码
'   失败,0
' 说明:若 lpszBuffer == "",则表明要获取当前设备的编码


Declare Function OMR_CheckAbility Lib "txomr.dll" (ByVal nType As Long) As Boolean
' 功能:检查当前OMR设备支持的功能。
' 参数:
'   nType:功能类型。
'       101-支持多种卡混读。
'       102-支持读双面卡。
'       201-支持在阅读一张卡时(调用OMR_Read过程中),按ESC键退出。
'       202-支持在阅读一张卡时(调用OMR_Read过程中),程序能响应其他消息。
'       203-支持在阅读一张卡时(调用OMR_ReadNoWait过程中),程序能响应其他消息。
'       301-支持阅读条码。
'       401-支持进纸仓的打开和关闭。
'       402-支持走纸电机的关停。
' 返回值:
'   支持,TRUE;不支持,FALSE。


Declare Function OMR_Installed Lib "txomr.dll" (ByVal DeviceNumber As Long) As Long
' 功能:此函数打开一个指定名称的OMR设备,并返回一个句柄。
' 参数:
' DeviceNumber:要打开的OMR设备的代码,其对应关系如下:
'              0  -- 自动查找
'             112 -- OMR11B
'             311 -- OMR31A
'             981 -- OMR98A
'             982 -- OMR98B
'             983 -- OMR98B-D
'             500 -- OMR50U
' 返回值:
'   成功,返回当前OMR设备的代码;
'   失败,返回0。
' 说明:如果返回值小于0,表明DeviceNumber的值与设备被设置的不一致;
'       或该设备未被设置过设备类型(2001年12月以前生产的OMR均未设置,
'     相应设置软件于2002年01月发布)。
'             -1  --  11B、31A、98A 等ISA接口系列的设备
'             -2  --  98B、98B-D 等串口系列的设备
'             -3  --  11C 等PCI接口系列的设备
'             -4  --  50U 等USB接口系列的设备



Declare Sub OMR_Close Lib "txomr.dll" ()
' 功能:此函数关闭一个打开的OMR设备。
' 参数:无
' 返回值:
'   无返回值。



' ////////////////////////////////////////////////////////
' ////////                                        ////////
' ////////                 阅  读                 ////////
' ////////                                        ////////
' ////////////////////////////////////////////////////////

Declare Function OMR_LoadForm Lib "txomr.dll" (ByVal lpFormA As String, ByVal lpFormB As String) As Long
' 功能:载入格式文件。如果要同时阅读几种卡,需多次调用本函数。
'       对于双面卡,必须用此函数一次装入两面的格式文件,阅读
'     的结果字符串由两面的结果字符串连接而成。FormA的结果
'     在FormB的结果之前。
' 参数:
'   lpFormA:第一面的格式文件名。
'   lpFormB:第二面的格式文件名,
'            如果信息卡是单面的,应该用空字符串""(即字符串长度为0)作为参数。
' 返回:
'   正确,返回 0;
'   错误,返回-1;
'   如果不支持双面卡,在第二个参数不是空字符串时,返回-100。



Declare Sub OMR_Clear Lib "txomr.dll" ()
' 清除已经装载的格式文件。
' 参数:无
' 返回值:
'   无返回值。



Declare Function OMR_Read Lib "txomr.dll" () As Long
' 功能:阅读信息卡。此函数为阻塞模式,直到阅读完一张卡才返回。
'       在阅读过程中,按ESC键立即返回。
' 参数:无
' 返回值:
'   正确,返回0;
'   错误,返回-1。


Declare Function OMR_ReadNoWait Lib "txomr.dll" () As Long
' 功能:阅读信息卡。此函数启动一张信息卡的阅读过程,一旦成功应不断
'       调用函数OMR_isReading检查阅读状态,直到该函数返回0后,阅读
'     才结束;此过程中,若要停止阅读,可调用函数omr_stopread。
' 参数:无
' 返回值:
'   成功,返回0;
'   失败,返回-1。



Declare Function OMR_IsReading Lib "txomr.dll" () As Long
' 功能:判断是否正在阅读。
' 参数:无
' 返回值:
'   阅读完毕,返回 0;
'   正在阅读,返回 1;
'   阅读失败,返回 -1。


Declare Sub OMR_StopRead Lib "txomr.dll" ()
' 功能:停止已发的阅读指令
' 参数:无
' 返回值:
'   无返回值。


 Declare Function OMR_GetResult Lib "txomr.dll" (ByVal lpszBuffer As String, ByVal IncludeRetCode As Boolean) As Long
' 功能:取得刚阅读完毕的信息卡的结果。
' 参数:
'   lpszBuffer:用来存放阅读结果的缓冲区。
'   IncludeRetCode:
'           TRUE  - 包含状态返回码'O'(在第一位, 即同旧版驱动的结果字符串一致)
'           FALSE - 不包含状态返回码'O'
' 返回值:
'   成功,返回lpszBuffer中实际存放的字符串长度;
'   失败,返回-1。


Declare Function OMR_GetBarcodeString Lib "txomr.dll" (ByVal BarcodeNo As Long, ByVal lpszBuffer As String) As Long
' 功能:仅取得刚阅读完毕的信息卡的条形码。
' 参数:
'   BarcodeNo :所要获得条码信息的组号
'   lpszBuffer:用来存放条码结果的缓冲区。
' 返回值:
'   成功,返回lpszBuffer中实际存放的字符串长度;
'   失败,返回-1;
'   不支持阅读条码,返回-100;
'   格式文件中未定义该组条码信息,但要获取,返回-200。


Declare Function OMR_GetRowDens Lib "txomr.dll" (ByVal wRow As Long, ByVal lpszBuffer As String) As Long
' 功能:得到指定行的灰度值
' 参数:
'           wRow:所要获得灰度值的行号
'     lpszBuffer:用来存放灰度值字符串的缓冲区
' 返回值:
'     成功,返回lpszBuffer中实际存放的灰度值字符串长度;
'   失败,返回-1。


Declare Function OMR_GetRowClk Lib "txomr.dll" (ByVal Head As Long, ByVal lrow As Long) As Long
' 功能:获取指定行同步头的扫描次数
' 参数:  Head:光电头类型
'           0 -- A头 (上位头)
'           1 -- B头 (下位头)
'       lrow:行号
' 返回值:成功:指定行同步头的扫描次数
'         失败:0
' 说明:参数 Head 仅对 OMR98B-D (双头98B)有效,在使用其它类型的OMR设备调用本函数
'       时,参数 Head 的位置传 0L 即可。


Declare Function OMR_SheetLen Lib "txomr.dll" () As Long
' 功能:获得最后所阅读信息卡的同步头总数
' 参数:无
' 返回值:最后所阅读信息卡的同步头总数
' 说明:本函数对一般用户没有实际意义,仅能作为所阅信息卡的参考值




' ////////////////////////////////////////////////////////
' ////////                                        ////////
' ////////                控制操作                ////////
' ////////                                        ////////
' ////////////////////////////////////////////////////////

Declare Sub OMR_HopperOpen Lib "txomr.dll" ()
' 功能:打开进纸仓。
' 参数:无
' 返回值:
'   无返回值。


Declare Sub OMR_HopperClose Lib "txomr.dll" ()
' 功能:关闭进纸仓。
' 参数:无
' 返回值:
'   无返回值。


Declare Sub OMR_StartMotor Lib "txomr.dll" ()
' 功能:启动走纸电机。
' 参数:无
' 返回值:
'   无返回值。


 Declare Sub OMR_StopMotor Lib "txomr.dll" ()
' 功能:停止走纸电机。
' 参数:无
' 返回值:
'   无返回值。


Declare Sub OMR_PassSheet Lib "txomr.dll" ()
' 功能:走纸
' 参数:无
' 返回值:
'   无返回值。



' ////////////////////////////////////////////////////////
' ////////                                        ////////
' ////////                系统函数                ////////
' ////////                                        ////////
' ////////////////////////////////////////////////////////

Declare Function OMR_GetLastError Lib "txomr.dll" () As Long

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -