private void button18_Click(object sender, EventArgs e) { //创建目录 ApduMsg msg = CardReader.CreateFile(200, CPUFileType.MFDF, txtContent.Text.Length); DisplayLog(msg); }
/// <summary> /// 清空卡 /// </summary> /// <param name="fileID"></param> /// <returns></returns> public static bool ClearCard() { try { cardReader.OpenReader(out string msgInf); //默认进行身份验证 Auth(); //先选择根目录 cpuCard.SelectMF(); ApduMsg msg = cpuCard.RemoveDF(); //再退出到根目录 cpuCard.SelectMF(); if (msg.IsSuccess) { return(true); } // cardReader.CloseReader(); } catch (Exception ex) { return(false); } finally { // run.Close(); } return(false); }
public void DisplayLog(ApduMsg apduMsg) { if (apduMsg != null) { string msg = "----------------------\r\n状态:{0} 信息:{1} 结果:{2} \r\n"; txtLog.AppendText(string.Format(msg, apduMsg.Status, apduMsg.Msg, BitConverter.ToString(apduMsg.ResponseData))); } }
/// <summary> /// 删除文件 /// </summary> /// <param name="fileID"></param> /// <returns></returns> public static bool DeleteFile(ushort fileID) { //默认进行身份验证 Auth(); ApduMsg msg = cpuCard.DeleteFile(fileID); if (msg.IsSuccess) { return(true); } return(false); }
/// <summary> /// 创建文件 /// </summary> /// <param name="fileName">文件名称</param> /// <param name="content">文件内容</param> /// <param name="msg">错误消息</param> /// <returns></returns> public static bool CreateFile(ushort fileID, byte[] content, out string msg) { try { if (!cardReader.OpenReader(out msg)) { return(false); } //默认进行身份验证 if (!Auth()) { } //先选择根目录 cpuCard.SelectMF(); //创建文件夹(文件夹创建的时候大一点) cpuCard.CreateDFFile(fileID, content.Length + 100); //选择创建的文件夹 cpuCard.SelectFileById(fileID); //cpuCard.RemoveDF(); //cpuCard.SelectFileById(fileID); ApduMsg msgApd = cpuCard.CreateAndWriteContent(fixFileID, content); //先选择根目录 cpuCard.SelectMF(); if (!msgApd.IsSuccess) { msg = msgApd.Msg; return(false); } } catch (Exception ex) { msg = ex.Message; return(false); } finally { cardReader.CloseReader(); //run.Close(); } return(true); }
/// <summary> /// 创建文件 /// </summary> /// <param name="fileName">文件名称</param> /// <param name="content">文件内容</param> /// <param name="msg">错误消息</param> /// <returns></returns> public static bool CreateFile(ushort fileID, string content, out string msg) { //默认进行身份验证 Auth(); msg = ""; ApduMsg msgApd = cpuCard.CreateAndWriteContent(fileID, content); if (!msgApd.IsSuccess) { msg = msgApd.Msg; return(false); } return(true); }
/// <summary> /// 读取文件 /// </summary> /// <param name="fileName">文件名称</param> /// <param name="content">文件内容</param> /// <param name="msg">错误消息</param> /// <returns></returns> public static bool ReadFile(ushort fileID, out byte[] data, out string contentOrMsg) { data = new byte[0]; cardReader.OpenReader(out string msgInf); //默认进行身份验证 Auth(); try { //先选择根目录 cpuCard.SelectMF(); //选择创建的文件夹 cpuCard.SelectFileById(fileID); //选择文件 ApduMsg msg = cpuCard.SelectFileById(fixFileID); //文件不存在 if (msg.Code == "6A-82") { contentOrMsg = "文件不存在"; cpuCard.SelectMF(); return(false); } //读取 bool res = cpuCard.ReadFile(fixFileID, out data, out contentOrMsg); //再退出到根目录 cpuCard.SelectMF(); return(res); } catch (Exception ex) { contentOrMsg = ex.Message; return(false); } finally { cardReader.CloseReader(); // run.Close(); } }
private void button2_Click(object sender, EventArgs e) { textBox1.Text = ""; int max = Convert.ToInt32(textBox2.Text); DeCardReader deCardReader = new DeCardReader(); CpuCard CardReader = new CpuCard(deCardReader); for (ushort i = 1; i <= max; i++) { ApduMsg m = CardReader.DeleteFile(i); textBox1.AppendText("删除文件:" + i + "\r\n"); } }
/// <summary> /// 删除文件 /// </summary> /// <param name="fileID"></param> /// <returns></returns> public static bool DeleteFile(ushort fileID) { try { cardReader.OpenReader(out string msgInf); //默认进行身份验证 Auth(); //先选择根目录 cpuCard.SelectMF(); //选择创建的文件夹 ApduMsg msg = cpuCard.SelectFileById(fileID); if (msg.Code == "6A-82") { return(true); } else { ApduMsg ms2g = cpuCard.RemoveDF(); Console.WriteLine(); } //再退出到根目录 cpuCard.SelectMF(); if (msg.IsSuccess) { return(true); } // cardReader.CloseReader(); } catch (Exception ex) { return(false); } finally { // run.Close(); } return(false); }
private void button17_Click(object sender, EventArgs e) { CardReader.SelectFileName("1PAY.SYS.DDF01"); CardReader.SelectFileName(ChangAnTongName); ApduMsg msg = CardReader.GetBalance(true); if (msg.IsSuccess) { byte[] data = msg.GetData(); if (data.Length == 4) { double Balance = ((data[0] << (8 * 3)) + (data[1] << (8 * 2)) + (data[2] << (8 * 1)) + data[3]) / 100.0; labYue.Text = "公交卡余额为" + Balance; return; } } labYue.Text = "读取失败"; }
private void button20_Click(object sender, EventArgs e) { ApduMsg msg1 = CardReader.SelectDFFile(GetFileID()); DisplayLog(msg1); }
private void button10_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.WriteContent(GetFixFileID(), txtContent.Text); DisplayLog(msg); }
private void button4_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.SelectMF(); DisplayLog(msg); }
private void button5_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.SelectFileName(txtFileName.Text); DisplayLog(msg); }
private void button23_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.SelectFileById(GetFixFileID()); DisplayLog(msg); }
private void button2_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.Auth(txtPwd.Text); DisplayLog(msg); }
private void button6_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.CreateFile(GetFixFileID(), CPUFileType.BinFile, txtContent.Text.Length); DisplayLog(msg); }
public static void DisplayApduMsg(ApduMsg msg) { string result = string.Format("{0} {1} {2}", msg.Status, msg.Msg, msg.ResponseData); AddLog(result); }
private void button8_Click(object sender, EventArgs e) { ApduMsg msg = CardReader.RemoveDF(); DisplayLog(msg); }