HCE300磁卡读写机程序手册(部分)
来源:互联网 发布:屋顶上的轻骑兵 淘宝店 编辑:程序博客网 时间:2024/04/30 08:55
HCE-300 系列磁卡读写机技术指标
1.拉卡速度:10~120cm/s
2.记录格式:兼容IBM、ISO 格式,可用控制命令切换。
3.记录密度:第1 轨210BPI,最多79 个字符。
第2 轨75BPI/210BPI 可选,最多37/107 个字符。
第3 轨210BPI,最多107 个字符。
4.串行通讯参数:波特率:9600bps;数据格式:8 位无校验;1 位起始位;1 位停止位。
5.磁头寿命:≥ 600,000 次。
6.电源电压:DC 5V±5%。
7.电源电流:≤ 200mA。
6.工作环境:温度:0℃~45℃ 湿度:10~90%RH
HCE-300 系列磁卡读写机
Win32 动态链接库函数说明
版本1.10
函数索引
函数名称功能简述页次
HCE300_Open 打开磁卡读写机进行读写磁卡操作
HCE300_Close 关闭磁卡读写机
HCE300_Reset 复位磁卡读写机
HCE300_Read 读取磁卡上指定磁道数据
HCE300_Write 将指定磁道数据写入磁卡
HCE300_GetLastStatus 取得上次读写操作结果
HCE300_SetTrack2Denisty 设置磁道2 记录密度
HCE300_GetTrack2Denisty 取得磁道2 记录密度
HCE300_SetRecordFormat 设置磁道数据记录格式
HCE300_GetRecordFormat 取得磁道数据记录格式
HCE300_SetDeviceType 设置磁卡读写机型号
HCE300_GetDeviceType 取得磁卡读写机型号
HCE300_SetShowDialog 设置是否显示操作对话框
函数说明
关于动态库的重要说明
函数库位于安装目录的APILIB 子目录下,包含有以下文件:
PComm.DLL COM 端口操作动态链接库
HCE300_API.DLL HCE300 磁卡读写机操作动态链接库
HCE300_API.Pas HCE300 磁卡读写机动态库在Delphi 中的声明文件
HCE300_API.H HCE300 磁卡读写机动态库在C/C++ 中的声明文件
HCE300_API.Bas HCE300 磁卡读写机动态库在Visual Basic 中的声明文件
HCE300_API.Prg HCE300 磁卡读写机动态库在Visual FoxPro 中的声明文件
HCE300_API.PB HCE300 磁卡读写机动态库在PowerBuilder 中的声明文件
其中在最后应用系统发行,必须包含以上两个动态链接库,Pcomm.DLL 和HCE300_Api.DLL。
关于动态库函数返回值定义的重要说明
返回值
定义
说明
0
HCE300_OK
操作成功
-1
HCE300_ERROR
操作错误
-10
HCE300_NOOPEN
设备未打开
-11
HCE300_ALREADYOPEN
设备已经打开
-12
HCE300_NOCONNECT
磁卡读写机未联机
-13
HCE300_ERRPARAMETER
错误的调用参数
-14
HCE300_TIMEOUT
操作已经超时(对于HCE300_Open 函数超时时间为10 秒,对
于HCE300_Read/HCE300_Write 函数超时时间为120 秒)。
-15
CE300_USERBREAK
用户中断
-16
CE300_USERESCAPE
用户按下ESC 键中断操作
-17
CE300_EMPTYDATA
空的输入缓冲区
-100
CE300_BUSY
当前设备正忙
注意:以上返回值均为长整形(LongInt)。
相关函数注解(部分)
HCE300_Open
功能描述:
打开HCE-300 磁卡读写机,以便进行读写等操作,这时COM 口的通讯参数设置为9600Bps,8 位数据
位,1 位停止位,无校验位。
函数原型:
编程语言 语法
Delphi function HCE300_Open(ComPort:Integer):Integer;
C/C++ int WINAPI HCE300_Open(int ComPort);
Visual Basic Function HCE300_Open(ByVal ComPort As Long) As Long
Visual Foxpro DECLARE INTEGER HCE300_Open In HCE300_Api INTEGER ComPort
PowerBuilder Function Long HCE300_Open(Long ComPort) Library "HCE300_API.DLL "
参数说明:
ComPort:表示磁卡读写机连接在主机的哪个COM 口上,取值范围1~9,即COM1 ~ COM9。
返回值:
HCE300_OK(0):磁卡读写机打开成功。
HCE300_ERROR(-1):与磁卡读写机通讯握手失败。(可能磁卡读写机插头没有插好)
HCE300_ALREADYOPEN(-10):磁卡读写机已经打开。
HCE300_ERRPARAMETER(-13):输入参数错误。
示例:
Delphi:
var ComPort: Integer;
ComPort := 1; { 从COM1 口打开磁卡读写机 }
if HCE300_Open(ComPort) <> HCE300_OK then
begin
{ 打开失败 }
end;
C/C++:
int ComPort;
ComPort = 1;
if(HCE300_Open(ComPort) != HCE300_OK) {
/* 打开失败 */
}
Visual Basic:
Dim ComPort As Long
ComPort = 1
If HCE300_Open(ComPort) <> HCE300_OK Then
’打开失败
End If
Visual Foxpro:
? ComPort = 1
IF HCE300_Open(ComPort) <> 0 THEN
* 打开失败
ENDIF
HCE300_Close
功能描述:
关闭HCE-300 磁卡读写机。
函数原型:
编程语言 语法
Delphi function HCE300_Close:Integer;
C/C++ int WINAPI HCE300_Close(void);
Visual Basic Function HCE300_Close() As Long
Visual Foxpro DECLARE INTEGER HCE300_Close IN HCE300_Api
PowerBuilder Function Long HCE300_Close() Library "HCE300_API.DLL "
参数说明:
无
返 回 值:
HCE300_OK(0):成功关闭磁卡读写机。
HCE300_NOOPEN(-10):关闭操作失败。(没有正确打开磁卡读写机)
示 例:
Delphi:
var ComPort:Integer;
ComPort := 1;
...
HCE300_Close();
C/C++:
int ComPort;
ComPort = 1;
...
HCE300_Close();
Visual Basic:
Dim ComPort As Long
ComPort = 1
...
HCE300_Close()
Visual Foxpro:
? ComPort = 1
? HCE300_Close()
HCE300_Reset
功能描述:
复位磁卡读写机。
函数原型:
编程语言 语法
Delphi function HCE300_Reset(ResetWay:Integer):Integer;
C/C++ int WINAPI HCE300_Reset(int ResetWay);
Visual Basic Function HCE300_Reset(ByVal ResetWay As Long) As Long
Visual Foxpro DECLARE INTEGER HCE300_Reset IN HCE300_Api INTEGER ResetWay
PowerBuilder Function Long HCE300_Reset(Long ResetWay) Library "HCE300_API.DLL "
参数说明:
ResetWay:复位方式,HCE300_HARD_RESET(0)表示进行硬复位(模拟重新上电过程);
HCE300_SOFT_RESET(1)表示进行软复位;
HCE300_INIT_RESET(2)表示进行软复位并且进行初始化(设置磁道2 密度、设
置记录格式)。
返 回 值:
HCE300_OK(0):磁卡读写机复位成功。
HCE300_NOOPEN(-10):关闭操作失败。(没有正确打开磁卡读写机)
HCE300_ERRPARAMETER(-13):输入参数错误。
示 例:
Delphi:
{ Open Success }
HCE300_Reset(HCE300_INIT_RESET);
C/C++:
/* Open Success
HCE300_Reset(HCE300_INIT_RESET);
Visual Basic:
’Open Success
HCE300_Reset(HCE300_INIT_RESET)
Visual Foxpro:
* Open Success
? HCE300_Reset(HCE300_INIT_RESET)
HCE300_Read
功能描述:
从磁卡读写机读取指定磁道的数据,读取的数据在ReadData 中,ReadData 缓冲区必须大于300 字节。
若分配缓冲过小,可能引起内存存取错误。
函数原型:
编程语言 语法
Delphi function HCE300_Read(TrackNo:Integer; ReadData:PChar):Integer;
C/C++ int WINAPI HCE300_Read(int TrackNo, char *ReadData);
Visual Basic Function HCE300_Read(ByVal TrackNo As Long, ByRef ReadData As Byte) As Long
Visual Foxpro DECLARE INTEGER HCE300_Read IN HCE300_Api INTEGER InTrackNo, STRING
InReadBuf
PowerBuilder Function Long HCE300_Read(Long TrackNo, REF String ReadData) Library
"HCE300_API.DLL "
参数说明:
TrackNo:指定磁道数。
1 表示第一磁道;
2 表示第二磁道;
3 表示第三磁道;
4 表示第一、二磁道;
5 表示第二、三磁道。
ReadData:被读取磁卡的数据,使用‘|’(十六进制7CH)来分隔。
返 回 值:
HCE300_OK(0):读取成功;
HCE300_ERROR(-1):读取失败;
HCE300_NOOPEN(-10):磁卡读写机没有打开;
HCE300_ERRPARAMETER(-13):输入参数错误;
HCE300_TIMEOUT(-14):等待读卡超时(最长等待读取时间为120 秒,120 秒后函数返回操作超时错误);
HCE300_USERBREAK(-15):用户中断读取操作;
HCE300_USERESCAPE(-16):用户使用ESC 键中断读取操作。
示 例:
Delphi:
var ReadBuf: array[0..250] of Char;
{ Open Success }
if HCE300_Read(2, ReadBuf) = HCE300_OK then
{ 读取磁道2 成功,数据在ReadBuf 中 }
else
{ 读取磁道2 失败 } ;
C/C++:
char ReadBuf[250];
/* Open Success */
if(HCE300_Read(2, ReadBuf) == HCE300_OK) {
/* 读取磁道2 成功,数据在ReadBuf 中 */
}
else {
/* 读取磁道2 失败 */
}
Visual Basic:
Dim ReadBuf(0 To 250) As Byte;
’Open Success
If HCE300_Read(2, ReadBuf(0)) = HCE300_OK) Then
’读取磁道2 成功,数据在ReadBuf 中
Else
’读取磁道2 失败
End If
Visual Foxpro:
* Open Success
? ReadBuf = “ ”
IF HCE300_Read(2, @ReadBuf) = HCE300_OK THEN
* 读取磁道2 成功,数据在ReadBuf 中
ELSE
* 读取磁道2 失败
ENDIF
HCE300_Write
功能描述:
将WriteData 缓冲区中数据写入到磁卡的指定磁道。
函数原型:
编程语言 语法
Delphi function HCE300_Write(TrackNo:Integer; WriteData:PChar):Integer;
C/C++ int WINAPI HCE300_Write(int TrackNo, Char *WriteData);
Visual Basic Function HCE300_Write(ByVal TrackNo As Long, ByRef WriteData As Byte) As
Long
Visual Foxpro DECLARE INTEGER HCE300_Write IN HCE300_Api INTEGER InTrackNo, STRING
InWriteData
PowerBuilder Function Long HCE300_Write(Long TrackNo, String WriteData) Library
"HCE300_API.DLL "
参数说明:
TrackNo:指定磁道数。
1 表示第一磁道;
2 表示第二磁道;
3 表示第三磁道;
4 表示第一、二磁道;
5 表示第二、三磁道。
WriteData:将被写入磁卡的数据,不同磁道的数据使用‘|’(十六进制7CH)来分隔。
返 回 值:
HCE300_OK(0):写卡成功;
HCE300_ERROR(-1):写卡失败;
HCE300_NOOPEN(-10):磁卡读写机没有打开;
HCE300_ERRPARAMETER(-13):输入参数错误;
HCE300_TIMEOUT(-14):等待写卡超时(最长等待读取时间为120 秒,120 秒后函数返回操作超时错误);
HCE300_USERBREAK(-15):用户中断读取操作;
HCE300_USERESCAPE(-16):用户使用ESC 键中断读取操作;
HCE300_EMPTYDATA(-17):WriteData 为空。
示 例:
Delphi:
var WriteBuf: array[0..250] of Char;
{ Open Success }
StrPCopy(WriteBuf, ‘0123456789’);
if HCE300_Write(2, WriteBuf) = HCE300_OK then
{ 写卡成功 }
else
{ 写卡失败 } ;
C/C++:
char WriteBuf[250];
/* Open Success */
StrCopy(WriteBuf, “01234356789”);
if(HCE300_Write(2, WriteBuf) == HCE300_OK) {
/* 写卡成功 */
}
else {
/* 写卡失败 */
}
Visual Basic:
Dim WriteBuf(0 to 250) As Byte
’Open Success
if HCE300_Write(2, WriteBuf(0)) = HCE300_OK Then
’写卡成功
Else
’写卡失败
End If
Visual Foxpro:
? WriteBuf = “0123456789”
* Open Success
IF HCE300_Write(2, WriteBuf) = HCE300_OK THEN
’写卡成功
ELSE
’写卡失败
ENDIF
HCE300_ GetLastStatus
功能描述:
读取上次读写操作后的状态。
函数原型:
编程语言 语法
Delphi function HCE300_GetLastStatus:Integer;
C/C++ int WINAPI HCE300_GetLastStatus(void);
Visual Basic Function HCE300_GetLastStatus() As Long
Visual Foxpro DECLARE INTEGER HCE300_GetLastStatus IN HCE300_Api AS HCE300_GetLStatus
PowerBuilder Function Long HCE300_GetLastStatus() Library "HCE300_API.DLL "
参数说明:
返 回 值:
HCE300_OK(0):上次读写卡成功;
HCE300_ERROR(-1):上次读写卡失败;
HCE300_NOOPEN(-10):磁卡读写机没有打开;
示 例:
Delphi:
{ Open Success }
if HCE300_GetLastStatus = HCE300_OK then
{ 上次读写操作成功 }
else
{ 上次读写操作失败 } ;
C/C++:
/* Open Success
if(HCE300_GetLastStatus == HCE300_OK) {
/* 上次读写操作成功 */
}
else {
/* 上次读写操作失败 */
}
Visual Basic:
’Open Success
If HCE300_GetLastStatus() = HCE300_OK Then
’上次读写操作成功
Else
’上次读写操作失败
End If
Visual Foxpro:
* Open Success
IF HCE300_GetLStatus() = HCE300_OK THEN
* 上次读写操作成功
ELSE
* 上次读写操作失败
ENDIF
HCE300_ SetShowDialog
功能描述:
设置是否在磁卡读写操作中显示内建对话框,在此对话框上有一取消按钮可中断当前的操作。
函数原型:
编程语言 语法
Delphi function HCE300_SetShowDialog(InFlag:Integer):Integer;
C/C++ int WINAPI HCE300_SetShowDialog(int InFlag);
Visual Basic Function HCE300_SetShowDialog(ByVal InFlag As Long) As Long
Visual Foxpro DECLARE INTEGER HCE300_SetShowDialog IN HCE300_Api AS HCE300_SetShowDialog
INTEGER InFlag
PowerBuilder Function Long HCE300_SetShowDialog(Long InFlag) Library "HCE300_API.DLL"
参数说明:
InFlag:设置是否显示操作对话框标志。
0:不显示对话框(用户可按ESC 键中断当前操作);
1:显示操作对话框(用户可按ESC 键或点击对话框上中止按钮中断当前操作)。
返 回 值:
HCE300_OK(0):设置操作成功;
示 例:
Delphi:
HCE300_SetShowDialog(1); { 显示操作对话框 }
HCE300_SetShowDialog(0); { 不显示操作对话框 }
C/C++:
HCE300_SetShowDialog(1); /* 显示操作对话框 */
HCE300_SetShowDialog(0); /* 不显示操作对话框 */
Visual Basic:
HCE300_SetShowDialog(1) ’显示操作对话框
HCE300_SetShowDialog(0) ’不显示操作对话框
Visual Foxpro:
? HCE300_SetShowDialog(1) * 显示操作对话框
? HCE300_SetShowDialog(0) * 不显示操作对话框
- HCE300磁卡读写机程序手册(部分)
- 高手请进,磁卡查询机实现。
- 磁卡结构
- qmake手册(初级部分)
- 磁卡知识介绍
- 磁卡知识介绍
- 磁卡的工作原理
- 磁卡知识介绍
- 磁卡 ic卡 区别
- 磁卡知识介绍
- XML读写部分代码,仅供参考!
- ISO7816标准读写文件部分
- 读写SPI FLASH--驱动部分
- 读写SPI FLASH--应用程序部分
- [Java基础笔记]读写部分
- 根据AT24C02的手册读写AT24C02
- 磁卡上磁道的内容
- NFC手机读特定磁卡
- When the Opposite of Transparent isn't Opaque
- c/c++标准预定义宏
- hql查询结果自由转换
- Marking Your Code Transparent
- Swing界面布局(FormLayout)
- HCE300磁卡读写机程序手册(部分)
- IT蚁族:蜗居和逃离 读后感
- 巧用C#做中间语言 实现Java调用.net DLL的方法
- JAVA面试12题
- opensuse 11.4 kmail 自动拼写检查
- 2011NBA常规赛盘点
- 理解java接口·
- 我的第一个Android程序----工厂测试软件
- u-boot移植部分步骤