/// <summary> /// 写数据 1:写入成功 0:写入失败 -1:密码验证失败 -2:未寻到卡 /// </summary> /// <param name="iBlock">要写的块号</param> /// <param name="strBlockData">要写的数据</param> /// <returns></returns> public int WriteBlockData(int iBlock, string strBlockData) { try { _iBlock = iBlock; _strWriteBlockData = strBlockData; ulong uFactoryCode = 0; RWCard.rf_card(_iPonter, 0, ref uFactoryCode); if (uFactoryCode != 0) { tmTrick.Stop(); int iSec = _iBlock / 4; RWCard.rf_load_key_hex(_iPonter, 0, Convert.ToInt16(iSec), _strPassWordA); RWCard.rf_load_key_hex(_iPonter, 4, Convert.ToInt16(iSec), _strPassWordB); int i = RWCard.rf_authentication(_iPonter, 0, Convert.ToInt16(iSec)); if (i == 0) { i = RWCard.rf_write_hex(_iPonter, Convert.ToInt16(_iBlock), _strWriteBlockData);//往_iBlock块区中写入数据 Thread.Sleep(10); if (i == 0) { RWCard.rf_beep(_iPonter, 20); _iValid = 1; //写成功 } else //写失败 { _iValid = 0; } } else { _iValid = -1;//密码验证失败 } } else { _iValid = -2; } //转到读卡状态 tmTrick.Start(); return(_iValid); } catch (Exception ex) { Log.WriteLog("IC卡读写控件-写卡", ex); return(0); } }
/// <summary> /// 蜂鸣 /// </summary> public void Beep() { RWCard.rf_beep(_iPonter, 20); }