以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于USB接口免驱ID读卡器  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60754)

--  作者:yyzlxc
--  发布时间:2014/11/30 20:03:00
--  关于USB接口免驱ID读卡器
网购一台USB接口免驱ID读卡器,可以直接在表的单元格(光标所在的单元格)填充ID卡的8位码,请问如何用代码将读取的8位码填充到指定的窗口文本框,请各位老师指教,谢谢!!
--  作者:有点甜
--  发布时间:2014/11/30 20:11:00
--  

 弄一个文本框,设置焦点到文本框那里,即可。

 

 通常,这个读卡器都是有开发文档的吧?


--  作者:yyzlxc
--  发布时间:2014/11/30 20:24:00
--  
谢谢甜老师的回复,有USB接口ID卡读卡器oem软件,不知是否是二次开发SDK开发文件,请甜老师帮助看看,谢谢!


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:usb接口id卡读卡器oem软件.part01.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:usb接口id卡读卡器oem软件.part02.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:usb接口id卡读卡器oem软件.part03.rar





--  作者:有点甜
--  发布时间:2014/11/30 20:30:00
--  

 你参考vb 和 vb.net 的代码去做。

 

 类似 http://www.foxtable.com/help/topics/2417.htm

 


--  作者:yyzlxc
--  发布时间:2014/11/30 20:36:00
--  
甜老师,读卡器的SDK文件在压缩包的哪个文件夹里,请告知,谢谢!!
--  作者:有点甜
--  发布时间:2014/11/30 20:37:00
--  

读写卡测试程序及源代码】 里面,不是有各自的例子么, c# 、 vb、 vb.net 都有有


--  作者:yyzlxc
--  发布时间:2014/11/30 20:42:00
--  
好的,我先试试看,谢谢甜老师!!
--  作者:yyzlxc
--  发布时间:2014/12/1 8:37:00
--  

网上找到一篇关于调用一款ID读卡器的API方法的文章,提到只需要两个dll文件就可以实现读卡器连接,具体如何操作,请各位老师指教,谢谢!!



此款ID读卡器提供两个dll文件:IDUSB.DLL、OUR_IDR.dll

========================================================

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace Attend
{
    public class IdCardHelper
    {
        /// <summary>
        /// 蜂鸣
        /// </summary>
        /// <param name="comport"></param>
        /// <returns></returns>
        [DllImport("OUR_IDR.dll")]
        public static extern byte idr_beep(UInt32 beepTime);

        /// <summary>
        /// 读卡,返回卡的信息
        /// </summary>
        /// <param name="comport"></param>
        /// <returns></returns>
        [DllImport("OUR_IDR.dll")]
        public static extern byte idr_read([MarshalAs(UnmanagedType.LPArray)] byte[] serial);

        /// <summary>
        /// 读卡,返回卡的信息
        /// </summary>
        /// <param name="comport"></param>
        /// <returns></returns>
        [DllImport("OUR_IDR.dll")]
        public static extern byte pcdgetdevicenumber([MarshalAs(UnmanagedType.LPArray)] byte[] devicenumbe);
    }
}

===============================================================================

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Attend
{
    public class CardOperate
    {
        /// <summary>
        /// 蜂鳴
        /// </summary>
        /// <param name="beepTime"></param>
        /// <returns></returns>
        public static byte DeviceBeep(UInt32 beepTime)
        {
            try
            {
                return IdCardHelper.idr_beep(beepTime);
            }
            catch
            {
                return 0;
            }
        }

        /// <summary>
        /// 讀取設備號
        /// </summary>
        /// <returns></returns>
        public static string DeviceRead()
        {
            try
            {
                string deviceNo = "";
                byte[] btDevice = new byte[4];
                byte readInfo = IdCardHelper.pcdgetdevicenumber(btDevice);

                for (int i = 0; i < btDevice.Length; i++)
                {
                    string strTemp = btDevice[i].ToString("x");
                    if (strTemp.Length == 1)
                        strTemp = "0" + strTemp;
                    deviceNo += strTemp;
                }
                return deviceNo;
            }
            catch
            {
                return null;
            }
        }

        /// <summary>
        /// 讀取卡號
        /// </summary>
        /// <returns></returns>
        public static string CardRead()
        {
            try
            {
                byte[] cardNo = new byte[5];
                byte readInfo = IdCardHelper.idr_read(cardNo);

                string strCard = "";
                for (int i = 0; i < cardNo.Length; i++)
                {
                    string strTemp = cardNo[i].ToString("x");
                    if (strTemp.Length == 1)
                        strTemp = "0" + strTemp;
                    strCard += strTemp;
                }
                strCard = strCard.Substring(2, 8);
                int intTemp = Convert.ToInt32(strCard, 16);
                strCard = intTemp.ToString();

                intTemp = strCard.Length;
                for (int i = 0; i < 10 - intTemp; i++)
                {
                    strCard = "0" + strCard;
                }

                //if (strCard == "0000000000")
                //{
                //    DeviceBeep(800);
                //}
                //else
                //{
                //    DeviceBeep(200);
                //}

                return strCard;
            }
            catch
            {
                return null;
            }
        }
    }
}


--  作者:Bin
--  发布时间:2014/12/1 8:45:00
--  
随便百度的,并不适用于你这个的, 你直接用它提供的对应的VB.NET例子.
--  作者:有点甜
--  发布时间:2014/12/1 9:03:00
--  
 回复楼上,你自己就有vb.net的例子了啊,为什么去舍近求远啊,好好看自己的例子,调试