以下是dll说明:我不知道在delphi里如何调用VC的dll,在implementation里面声明的时候总出错,请高人指点一下:
1) INT Wcard(CHAR *SET,CHAR *WDATA,INT TRACK)功能:控制SJE353B磁卡读写机进行写磁卡操作,按ESC键可退出.返回: 整型
= 1: 写卡正确
-1: 所选串行口打不开
-2: 与磁卡读写机通信失败(磁卡机没有与主机连接或连接不正确)
-3: 串口设置错误
-4: 写卡错误
-5: 用户 ESC 退出
参数:
SET: 字符串,用来设置串口.
格式:"1,9600,N,8,1" ------ (1=com1或2=com2),
(9600=baud9600或4800=baud4800
或2400=baud2400或1200=baud1200),
(N=无校验或O=奇校验或N=偶校验),
(8=8个数据位或7=7个数据位),
(1=1个停止位或2=2个停止位).
如:"2,9600,O,7,1" 表示串口2,波特率9600.奇校验,7个数据位,1个停止位.
TRACK: 需要进行写卡操作的磁道选择号(具体定义如下:)
-------- 1:选择第1磁轨
2:选择第2磁轨
3:选择第3磁轨
4:选择第2和第1磁轨
5:选择第2和第3磁轨
WDATA: 字符串,所要向卡上写的数据.
格式:"磁道1数据" ------ 写第1轨数据(此时 TRACK 为1)
"磁道2数据" ------ 写第2轨数据(此时 TRACK 为2)
"磁道3数据" ------ 写第3轨数据(此时 TRACK 为3)
"磁道2数据a磁道1数据" ------ 写第2轨数据和第1轨数据(此时 TRACK 为4,
小写字符a作为磁道2和磁道1的数据的间隔符)
"磁道2数据a磁道3数据" ------ 写第2轨数据和第3轨数据(此时 TRACK 为5,
小写字符a作为磁道2和磁道3的数据的间隔符) 其中: 小写字符a为磁道2与磁道1(或磁道2与磁道3)的数据的分隔符
1轨数据可为字母或数字,最多76个
2轨数据只可为数字,最多37个
3轨数据只可为数字,最多104个
如: Wcard("1,9600,N,8,1","1111111111",1)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第1磁轨中写入数据:1111111111
Wcard("1,9600,N,8,1","2222222222",2)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222
Wcard("1,9600,N,8,1","3333333333",3)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第3磁轨中写入数据:3333333333
Wcard("1,9600,N,8,1","2222222222a1111111111",4)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222 并且
向第1磁轨中写入数据:1111111111
Wcard("1,9600,N,8,1","2222222222a3333333333",5)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222 并且
向第3磁轨中写入数据:3333333333
具体见SLE300系列磁卡读写机使用说明书 2) INT Rcard(CHAR *SET,CHAR *RDATA,INT TRACK)功能:控制sLe353b进行读磁卡操作,按ESC键可退出.返回: 整型
= 1: 读卡正确,
-1: 所选串行口打不开
-2: 与磁卡读写机通信失败(磁卡机没有与主机连接或连接不正确)
-3: 串口设置错误
-4: 读卡错误
-5: 用户 ESC 退出参数:
SET: 字符串,用来设置串口.
格式:"1,9600,N,8,1" ------ (1=com1或2=com2),
(9600=baud9600或4800=baud4800
或2400=baud2400或1200=baud1200),
(N=无校验或O=奇校验或N=偶校验),
(8=8个数据位或7=7个数据位),
(1=1个停止位或2=2个停止位).
如:"2,9600,O,7,1" 表示串口2,波特率9600.奇校验,7个数据位,1个停止位. TRACK: 需要进行写卡操作的磁道选择号(具体定义如下:)
-------- 1:选择第1磁轨
2:选择第2磁轨
3:选择第3磁轨
4:选择第2和第1磁轨
5:选择第2和第3磁轨 RDATA: 读卡数据输出缓冲区(用于存放读卡成功后的返回数据)
字符串,长度不少于300字节.
读卡成功返回格式:
RDATA = "磁道1数据" ------- 返回磁道1数据(此时 TRACK 为1)
RDATA = "磁道2数据" ------- 返回磁道2数据(此时 TRACK 为2)
RDATA = "磁道3数据" ------- 返回磁道3数据(此时 TRACK 为3)
RDATA = "磁道2数据a磁道1数据" ------- 返回磁道2数据和磁道1数据(此时 TRACK 为4)
RDATA = "磁道2数据a磁道3数据" ------- 返回磁道2数据和磁道3数据(此时 TRACK 为5)
读卡错误: Rcard函数返回值为-4
其中: 小写字符a为磁道2与磁道1(或磁道2与磁道3)的数据的分隔符
1道数据可为字母或数字,最多76个
2道数据只可为数字,最多37个
3数据只可为数字,最多104个
如:
Rcard("1,9600,N,8,1",RDATA,1)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第1磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,2)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,3)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第3磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,4)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨和第1磁轨中读取数据
(存放在RDATA中,中间以小写字符a作间隔)
Rcard("1,9600,N,8,1",RDATA,5)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨和第3磁轨中读取数据
(存放在RDATA中,中间以小写字符a作间隔)
1) INT Wcard(CHAR *SET,CHAR *WDATA,INT TRACK)功能:控制SJE353B磁卡读写机进行写磁卡操作,按ESC键可退出.返回: 整型
= 1: 写卡正确
-1: 所选串行口打不开
-2: 与磁卡读写机通信失败(磁卡机没有与主机连接或连接不正确)
-3: 串口设置错误
-4: 写卡错误
-5: 用户 ESC 退出
参数:
SET: 字符串,用来设置串口.
格式:"1,9600,N,8,1" ------ (1=com1或2=com2),
(9600=baud9600或4800=baud4800
或2400=baud2400或1200=baud1200),
(N=无校验或O=奇校验或N=偶校验),
(8=8个数据位或7=7个数据位),
(1=1个停止位或2=2个停止位).
如:"2,9600,O,7,1" 表示串口2,波特率9600.奇校验,7个数据位,1个停止位.
TRACK: 需要进行写卡操作的磁道选择号(具体定义如下:)
-------- 1:选择第1磁轨
2:选择第2磁轨
3:选择第3磁轨
4:选择第2和第1磁轨
5:选择第2和第3磁轨
WDATA: 字符串,所要向卡上写的数据.
格式:"磁道1数据" ------ 写第1轨数据(此时 TRACK 为1)
"磁道2数据" ------ 写第2轨数据(此时 TRACK 为2)
"磁道3数据" ------ 写第3轨数据(此时 TRACK 为3)
"磁道2数据a磁道1数据" ------ 写第2轨数据和第1轨数据(此时 TRACK 为4,
小写字符a作为磁道2和磁道1的数据的间隔符)
"磁道2数据a磁道3数据" ------ 写第2轨数据和第3轨数据(此时 TRACK 为5,
小写字符a作为磁道2和磁道3的数据的间隔符) 其中: 小写字符a为磁道2与磁道1(或磁道2与磁道3)的数据的分隔符
1轨数据可为字母或数字,最多76个
2轨数据只可为数字,最多37个
3轨数据只可为数字,最多104个
如: Wcard("1,9600,N,8,1","1111111111",1)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第1磁轨中写入数据:1111111111
Wcard("1,9600,N,8,1","2222222222",2)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222
Wcard("1,9600,N,8,1","3333333333",3)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第3磁轨中写入数据:3333333333
Wcard("1,9600,N,8,1","2222222222a1111111111",4)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222 并且
向第1磁轨中写入数据:1111111111
Wcard("1,9600,N,8,1","2222222222a3333333333",5)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式向第2磁轨中写入数据:2222222222 并且
向第3磁轨中写入数据:3333333333
具体见SLE300系列磁卡读写机使用说明书 2) INT Rcard(CHAR *SET,CHAR *RDATA,INT TRACK)功能:控制sLe353b进行读磁卡操作,按ESC键可退出.返回: 整型
= 1: 读卡正确,
-1: 所选串行口打不开
-2: 与磁卡读写机通信失败(磁卡机没有与主机连接或连接不正确)
-3: 串口设置错误
-4: 读卡错误
-5: 用户 ESC 退出参数:
SET: 字符串,用来设置串口.
格式:"1,9600,N,8,1" ------ (1=com1或2=com2),
(9600=baud9600或4800=baud4800
或2400=baud2400或1200=baud1200),
(N=无校验或O=奇校验或N=偶校验),
(8=8个数据位或7=7个数据位),
(1=1个停止位或2=2个停止位).
如:"2,9600,O,7,1" 表示串口2,波特率9600.奇校验,7个数据位,1个停止位. TRACK: 需要进行写卡操作的磁道选择号(具体定义如下:)
-------- 1:选择第1磁轨
2:选择第2磁轨
3:选择第3磁轨
4:选择第2和第1磁轨
5:选择第2和第3磁轨 RDATA: 读卡数据输出缓冲区(用于存放读卡成功后的返回数据)
字符串,长度不少于300字节.
读卡成功返回格式:
RDATA = "磁道1数据" ------- 返回磁道1数据(此时 TRACK 为1)
RDATA = "磁道2数据" ------- 返回磁道2数据(此时 TRACK 为2)
RDATA = "磁道3数据" ------- 返回磁道3数据(此时 TRACK 为3)
RDATA = "磁道2数据a磁道1数据" ------- 返回磁道2数据和磁道1数据(此时 TRACK 为4)
RDATA = "磁道2数据a磁道3数据" ------- 返回磁道2数据和磁道3数据(此时 TRACK 为5)
读卡错误: Rcard函数返回值为-4
其中: 小写字符a为磁道2与磁道1(或磁道2与磁道3)的数据的分隔符
1道数据可为字母或数字,最多76个
2道数据只可为数字,最多37个
3数据只可为数字,最多104个
如:
Rcard("1,9600,N,8,1",RDATA,1)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第1磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,2)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,3)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第3磁轨中读取数据(存放在RDATA中)
Rcard("1,9600,N,8,1",RDATA,4)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨和第1磁轨中读取数据
(存放在RDATA中,中间以小写字符a作间隔)
Rcard("1,9600,N,8,1",RDATA,5)
-------- 表示通过串行口1以波特率9600BPS,8位数据位,1位停止位,
无校验的方式从第2磁轨和第3磁轨中读取数据
(存放在RDATA中,中间以小写字符a作间隔)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货