//To read the fingerprint template information of 10.0 arithmetic,Filename:template.fp10.1 private void btnTmp10Read_Click(object sender, EventArgs e) { UDisk udisk = new UDisk(); byte[] byDataBuf = null; int iLength; int iStartIndex; int iSize = 0; int iPIN = 0; int iFingerID = 0; int iValid = 0; string sTemplate = ""; lvTmp10.Items.Clear(); openFileDialog1.Filter = "template(*.fp10.1)|*.fp10.1"; openFileDialog1.FileName = "template.fp10.1"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { FileStream stream = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read); byDataBuf = File.ReadAllBytes(openFileDialog1.FileName); iLength = Convert.ToInt32(stream.Length); iStartIndex = 0; for (int i = 0; i < iLength; i++) { iSize = byDataBuf[i] + byDataBuf[i + 1] * 256;//the variable length of the 10.0 arithmetic template byte[] byTmpInfo = new byte[iSize]; Array.Copy(byDataBuf, iStartIndex, byTmpInfo, 0, iSize); iStartIndex += iSize; i = iStartIndex - 1; udisk.GetTmp10FromFp10(byTmpInfo, iSize, out iPIN, out iFingerID, out iValid, out sTemplate); ListViewItem list = new ListViewItem(); list.Text = iSize.ToString(); list.SubItems.Add(iPIN.ToString()); list.SubItems.Add(iFingerID.ToString()); list.SubItems.Add(iValid.ToString()); list.SubItems.Add(sTemplate); lvTmp10.Items.Add(list); byTmpInfo = null; } stream.Close(); } }
private void btnTmp10Read_Click(object sender, EventArgs e) { UDisk udisk = new UDisk(); byte[] byDataBuf = null; int iLength; int iStartIndex; int iSize = 0; int iPIN = 0; int iFingerID = 0; int iValid = 0; string sTemplate = ""; lvTmp10.Items.Clear(); openFileDialog1.Filter = "template(*.fp10.1)|*.fp10.1"; openFileDialog1.FileName = "template.fp10.1"; try { if (openFileDialog1.ShowDialog() == DialogResult.OK) { FileStream stream = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Read); byDataBuf = File.ReadAllBytes(openFileDialog1.FileName); iLength = Convert.ToInt32(stream.Length); iStartIndex = 0; for (int i = 0; i < iLength; i++) { iSize = byDataBuf[i] + byDataBuf[i + 1] * 256;//the variable length of the 10.0 arithmetic template byte[] byTmpInfo = new byte[iSize]; Array.Copy(byDataBuf, iStartIndex, byTmpInfo, 0, iSize); iStartIndex += iSize; i = iStartIndex - 1; udisk.GetTmp10FromFp10(byTmpInfo, iSize, out iPIN, out iFingerID, out iValid, out sTemplate); ListViewItem list = new ListViewItem() { Text = iSize.ToString() }; list.SubItems.Add(iPIN.ToString()); list.SubItems.Add(iFingerID.ToString()); list.SubItems.Add(iValid.ToString()); list.SubItems.Add(sTemplate); lvTmp10.Items.Add(list); DBEngine.exec("sp_TemplateSave", CommonConst.A_LoginID, UserID, "@UserID", iPIN, "@FINGERID", iFingerID, "@TEMPLATE", sTemplate, "@Flag", iValid); byTmpInfo = null; } stream.Close(); } UIMessage.ShowMessage(CommonConst.DATASAVED_SUCCESSFULLY, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { HPA.Common.Helper.ShowException(ex, this.Name, "btnUserRead_Click"); } }