protected int ReadCard() { try { if (lSmartCard == null) { return(0); } if (lSmartCard.Count <= 0) { return(0); } //byte[] Licinfo = new byte[1024]; //RDNID.getLicenseInfoRD(Licinfo); //m_lblDLXInfo.Text = ic.aByteToString(Licinfo); String strTerminal = lSmartCard[0]; //_CardReaderTFK2700 = ic.ListCardReader(); //String strTerminal = _CardReaderTFK2700; //String strTerminal = m_ListReaderCard.GetItemText(m_ListReaderCard.SelectedItem); IntPtr obj = selectReader(strTerminal); Int32 nInsertCard = 0; nInsertCard = RDNID.connectCardRD(obj); if (nInsertCard != 0) { String m; m = String.Format(" error no {0} ", nInsertCard); MessageBox.Show(m); RDNID.disconnectCardRD(obj); RDNID.deselectReaderRD(obj); return(nInsertCard); } byte[] id = new byte[30]; int res = RDNID.getNIDNumberRD(obj, id); if (res != DefineConstants.NID_SUCCESS) { return(res); } String NIDNum = ic.aByteToString(id); byte[] data = new byte[1024]; res = RDNID.getNIDTextRD(obj, data, data.Length); if (res != DefineConstants.NID_SUCCESS) { return(res); } String NIDData = ic.aByteToString(data); if (NIDData == "") { MessageBox.Show("Read Text error"); } else { string[] fields = NIDData.Split('#'); gB.Text = "ค้นหา pid"; txtSearch.Value = NIDNum; setGrfPtt(txtSearch.Text); if (grfPtt.Rows.Count <= 1) { gB.Text = "ค้นหา namet"; txtSearch.Value = fields[(int)NID_FIELD.NAME_T] + " " + fields[(int)NID_FIELD.SURNAME_T]; setGrfPtt(txtSearch.Text); if (grfPtt.Rows.Count <= 1) { gB.Text = "ค้นหา namee"; txtSearch.Value = fields[(int)NID_FIELD.NAME_E] + " " + fields[(int)NID_FIELD.SURNAME_E]; setGrfPtt(txtSearch.Text); } } ////m_txtID.Text = NIDNum; // or use m_txtID.Text = fields[(int)NID_FIELD.NID_Number]; //txtPid.Value = NIDNum; //String fullname = fields[(int)NID_FIELD.TITLE_T] + " " + // fields[(int)NID_FIELD.NAME_T] + " " + // fields[(int)NID_FIELD.MIDNAME_T] + " " + // fields[(int)NID_FIELD.SURNAME_T]; ////m_txtFullNameT.Text = fullname; //txtPttName.Value = fields[(int)NID_FIELD.NAME_T] + " " + fields[(int)NID_FIELD.MIDNAME_T] + " "; //txtPttLName.Value = fields[(int)NID_FIELD.SURNAME_T]; //txtPttNameE.Value = fields[(int)NID_FIELD.NAME_E] + " " + fields[(int)NID_FIELD.MIDNAME_E] + " "; //txtPttLNameE.Value = fields[(int)NID_FIELD.SURNAME_E]; ////fullname = fields[(int)NID_FIELD.TITLE_E] + " " + //// fields[(int)NID_FIELD.NAME_E] + " " + //// fields[(int)NID_FIELD.MIDNAME_E] + " " + //// fields[(int)NID_FIELD.SURNAME_E]; ////m_txtFullNameE.Text = fullname; ////m_txtBrithDate.Text = ic._yyyymmdd_(fields[(int)NID_FIELD.BIRTH_DATE]); //String dob = fields[(int)NID_FIELD.BIRTH_DATE]; //if (dob.Length >= 8) //{ // dob = dob.Substring(0, 4) + "-" + dob.Substring(4, 2) + "-" + dob.Substring(dob.Length - 2); // txtDob.Value = dob; //} //txtAddrNo.Value = fields[(int)NID_FIELD.HOME_NO]; //txtMoo.Value = fields[(int)NID_FIELD.MOO]; //txtRoad.Value = fields[(int)NID_FIELD.TROK] + " " + fields[(int)NID_FIELD.SOI] + " " + fields[(int)NID_FIELD.ROAD] + " " + fields[(int)NID_FIELD.TUMBON] + " " + fields[(int)NID_FIELD.AMPHOE] + " " + fields[(int)NID_FIELD.PROVINCE]; ////m_txtAddress.Text = fields[(int)NID_FIELD.HOME_NO] + " " + //// fields[(int)NID_FIELD.MOO] + " " + //// fields[(int)NID_FIELD.TROK] + " " + //// fields[(int)NID_FIELD.SOI] + " " + //// fields[(int)NID_FIELD.ROAD] + " " + //// fields[(int)NID_FIELD.TUMBON] + " " + //// fields[(int)NID_FIELD.AMPHOE] + " " + //// fields[(int)NID_FIELD.PROVINCE] + " " //; //if (fields[(int)NID_FIELD.GENDER] == "1") //{ // //m_txtGender.Text = "ชาย"; // cboSex.SelectedIndex = 1; // cboPrefix.Text = "Mr."; //} //else //{ // //m_txtGender.Text = "หญิง"; // cboSex.SelectedIndex = 2; // cboPrefix.Text = "Miss"; //} ////m_txtIssueDate.Text = _yyyymmdd_(fields[(int)NID_FIELD.ISSUE_DATE]); ////m_txtExpiryDate.Text = _yyyymmdd_(fields[(int)NID_FIELD.EXPIRY_DATE]); ////if ("99999999" == m_txtExpiryDate.Text) //// m_txtExpiryDate.Text = "99999999 ตลอดชีพ"; ////m_txtIssueNum.Text = fields[(int)NID_FIELD.ISSUE_NUM]; } //byte[] NIDPicture = new byte[1024 * 5]; //int imgsize = NIDPicture.Length; //res = RDNID.getNIDPhotoRD(obj, NIDPicture, out imgsize); //if (res != DefineConstants.NID_SUCCESS) // return res; //byte[] byteImage = NIDPicture; //if (byteImage == null) //{ // MessageBox.Show("Read Photo error"); //} //else //{ // //m_picPhoto // Image img = Image.FromStream(new MemoryStream(byteImage)); // //Bitmap MyImage = new Bitmap(img, m_picPhoto.Width - 2, m_picPhoto.Height - 2); // Bitmap MyImage = new Bitmap(img, picPtt.Width - 2, picPtt.Height - 2); // //m_picPhoto.Image = (Image)MyImage; // picPtt.Image = (Image)MyImage; // setControlDonor("", txtPid.Text); // if (txtID.Text.Equals("")) // { // img.Save(picIDCard, ImageFormat.Jpeg); // flagReadCard = true; // } //} flagReadCard = true; RDNID.disconnectCardRD(obj); RDNID.deselectReaderRD(obj); } catch (Exception ex) { MessageBox.Show("ReadCard " + ex.Message, ""); } return(0); }