当前位置:编程学习 > C#/ASP.NET >>

c#华旭二代身份证

        #region API声明
        [DllImport("sdtapi.dll", CallingConvention = CallingConvention.StdCall)]
        static extern int SDT_StartFindIDCard (int iPort,  byte[] pucManaInfo,int iIfOpen);
        [DllImport("sdtapi.dll",CallingConvention = CallingConvention.StdCall)]
        static extern int SDT_SelectIDCard (int iPort , byte[] pucManaMsg,int iIfOpen);
        [DllImport("sdtapi.dll",CallingConvention = CallingConvention.StdCall)]
        static extern int SDT_ReadBaseMsg (int iPort, byte[] pucCHMsg, ref UInt32 puiCHMsgLen, byte[] pucPHMsg,ref UInt32 puiPHMsgLen,int iIfOpen);
        #endregion
        private void button1_Click(object sender, EventArgs e)
        {
            //变量声明
            byte[] CardPUCIIN = new byte[255];
            byte[] pucManaMsg = new byte[255];
            byte[] pucCHMsg = new byte[255];
            byte[] pucPHMsg = new byte[3024];
            UInt32 puiCHMsgLen=0;
            UInt32 puiPHMsgLen=0;
            int st =0;
            //读卡操作
            st= SDT_StartFindIDCard(1001, CardPUCIIN, 1);
            if (st != 0x9f) return;
            st = SDT_SelectIDCard(1001,  pucManaMsg, 1);
            if (st != 0x90) return;
            st = SDT_ReadBaseMsg(1001,   pucCHMsg, ref puiCHMsgLen,   pucPHMsg, ref puiPHMsgLen, 1);
            if (st != 0x90) return;
            //显示结果
            textBox1.Text = System.Text.ASCIIEncoding.Unicode.GetString(pucCHMsg);

        }


这是程序带的一个实例,他是姓名性别家庭住址等等读取都读取到textbox1里了,
想自己做一个读取信息的demo,textbox1读姓名,textbox2读性别 等等等等

用的是华旭身份证读卡器 二代身份证 --------------------编程问答-------------------- 如果姓名性别家庭住址这些信息有分割符,就写全读出来,然后再拆分就行了。
字符串分割有Split和正则表达式等方法 --------------------编程问答-------------------- 读卡器他应该有帮助说明!可以看看帮助说明! --------------------编程问答-------------------- 你先得到数据,分析字符特征,进行分割就OK了啊
--------------------编程问答-------------------- 主要是读出来的数据,你根据一定的规律把他剥离出来就行了,查找字符串的特征,固定长度,存放位置以及读卡器函数的输出结构体的特征 --------------------编程问答-------------------- pucCHMsg

你自己看看,这个字段里,姓名,性别之类的数据都是有长度的。
例如:提取前15个byte就是姓名,后续的2个byte就是性别。
你好好看看厂家的demo定义,一般都是有例子或者说明的,必要时可以和厂家要个demo
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,