以下是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作间隔)