//To write the fingerprint template information of 10.0 arithmetic,Filename:template.fp10.1 private void btnTmp10Write_Click(object sender, EventArgs e) { UDisk udisk = new UDisk(); int iLength = 0; int iCount = lvTmp10.Items.Count; byte[] byTempBuf = new byte[iCount * 16 * 1024];//the max value saveFileDialog1.Filter = "template(*.fp10.1)|*.fp10.1"; saveFileDialog1.FileName = "template.fp10.1"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { int iDataBufIndex = 0; for (int i = 0; i < iCount; i++) { int iSize = Convert.ToInt32(lvTmp10.Items[i].SubItems[0].Text.Trim()); int iPIN = Convert.ToInt32(lvTmp10.Items[i].SubItems[1].Text.Trim()); int iFingerIndex = Convert.ToInt32(lvTmp10.Items[i].SubItems[2].Text.Trim()); int iValid = Convert.ToInt32(lvTmp10.Items[i].SubItems[3].Text.Trim()); string sTemplate = lvTmp10.Items[i].SubItems[4].Text.Trim(); byte[] byTmpInfo = null; udisk.SetTmp10ToFp10(out byTmpInfo, iSize, iPIN, iFingerIndex, iValid, sTemplate); Array.Copy(byTmpInfo, 0, byTempBuf, iDataBufIndex, iSize); iDataBufIndex += iSize; iLength += iSize; } } byte[] byDataBuf = new byte[iLength]; Array.Copy(byTempBuf, byDataBuf, iLength); File.WriteAllBytes(saveFileDialog1.FileName, byDataBuf); }