using FastReport.Controls; using FastReport.Editor; using FastReport.Utils; using System; using System.Windows.Forms; namespace FastReport.Forms { public partial class RFIDLabelEditorForm : BaseDialogForm { public RFIDLabel RFID { get; set; } public RFIDLabelEditorForm() { InitializeComponent(); Localize(); UIUtils.CheckRTL(this); UpdateDpiDependencies(); } private void RFIDLabelEditor_Load(object sender, EventArgs e) { cbAccesPasswordMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" }); cbKillPasswordMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" }); cbECPBankMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" }); cbUserBankMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" }); cbEPCDataFormat.Items.AddRange(new object[] { "Hex", "ASCII" }); cbFormatTIDBank.Items.AddRange(new object[] { "Hex", "ASCII" }); cbUserDataFormat.Items.AddRange(new object[] { "Hex", "ASCII" }); cbErrorHandleMode.Items.AddRange(new object[] { "None", "Pause mode", "Erorr mode" }); tbKillPassword.Text = RFID.KillPassword; cbKillPasswordMode.SelectedIndex = ToIndex(RFID.LockKillPassword); tbAccessPassword.Text = RFID.AccessPassword; cbAccesPasswordMode.SelectedIndex = ToIndex(RFID.LockAccessPassword); cbFormatTIDBank.SelectedIndex = ToIndex(RFID.TIDBank.DataFormat); tbTID.Text = RFID.TIDBank.Data; cbEPCDataFormat.SelectedIndex = ToIndex(RFID.EpcBank.DataFormat); tbEPC.Text = RFID.EpcBank.Data; tbEPCFormat.Text = RFID.EpcFormat; cbECPBankMode.SelectedIndex = ToIndex(RFID.LockEPCBank); cbUseAdjust.Checked = RFID.UseAdjustForEPC; cbRewriteEPC.Checked = RFID.RewriteEPCbank; cbUserDataFormat.SelectedIndex = ToIndex(RFID.UserBank.DataFormat); tbUserData.Text = RFID.UserBank.Data; cbUserBankMode.SelectedIndex = ToIndex(RFID.LockUserBank); nudStartPermalock.Value = RFID.StartPermaLock; nudCountPermalock.Value = RFID.CountPermaLock; cbAdaptiveAntenna.Checked = RFID.AdaptiveAntenna; cbErrorHandleMode.SelectedIndex = ToIndex(RFID.ErrorHandle); nudReadPower.Value = RFID.ReadPower; nudWritePower.Value = RFID.WritePower; tbAccessPasswordDataColumn.Text = RFID.AccessPasswordDataColumn; tbKillPasswordDataColumn.Text = RFID.KillPasswordDataColumn; tbEPCDataColumn.Text = RFID.EpcBank.DataColumn; tbUserDataColumn.Text = RFID.UserBank.DataColumn; tbTIDDataColumn.Text = RFID.TIDBank.DataColumn; } private void RFIDLabelEditor_FormClosed(object sender, FormClosedEventArgs e) { RFID.KillPassword = tbKillPassword.Text; RFID.LockKillPassword = ConvertMode(cbKillPasswordMode.SelectedIndex); RFID.AccessPassword = tbAccessPassword.Text; RFID.LockAccessPassword = ConvertMode(cbAccesPasswordMode.SelectedIndex); RFID.TIDBank.DataFormat = ConvertFormat(cbFormatTIDBank.SelectedIndex); RFID.TIDBank.Data = tbTID.Text; RFID.EpcBank.DataFormat = ConvertFormat(cbEPCDataFormat.SelectedIndex); RFID.EpcBank.Data = tbEPC.Text; RFID.EpcFormat = tbEPCFormat.Text; RFID.LockEPCBank = ConvertMode(cbECPBankMode.SelectedIndex); RFID.UseAdjustForEPC = cbUseAdjust.Checked; RFID.RewriteEPCbank = cbRewriteEPC.Checked; RFID.UserBank.DataFormat = ConvertFormat(cbUserDataFormat.SelectedIndex); RFID.UserBank.Data = tbUserData.Text; RFID.LockUserBank = ConvertMode(cbUserBankMode.SelectedIndex); RFID.StartPermaLock = (int)nudStartPermalock.Value; RFID.CountPermaLock = (int)nudCountPermalock.Value; RFID.AdaptiveAntenna = cbAdaptiveAntenna.Checked; RFID.ErrorHandle = ConvertErrorHandleMode(cbErrorHandleMode.SelectedIndex); RFID.ReadPower = (short)nudReadPower.Value; RFID.WritePower = (short)nudWritePower.Value; RFID.AccessPasswordDataColumn = tbAccessPasswordDataColumn.Text; RFID.KillPasswordDataColumn = tbKillPasswordDataColumn.Text; RFID.EpcBank.DataColumn = tbEPCDataColumn.Text; RFID.UserBank.DataColumn = tbUserDataColumn.Text; RFID.TIDBank.DataColumn = tbTIDDataColumn.Text; } private RFIDLabel.LockType ConvertMode(int index) { switch (index) { case 0: return RFIDLabel.LockType.Unlock; case 1: return RFIDLabel.LockType.Lock; case 2: return RFIDLabel.LockType.Open; case 3: return RFIDLabel.LockType.Protect; default: return RFIDLabel.LockType.Unlock; } } private RFIDLabel.RFIDBank.Format ConvertFormat(int index) { switch (index) { case 0: return RFIDLabel.RFIDBank.Format.Hex; case 1: return RFIDLabel.RFIDBank.Format.ASCII; default: return RFIDLabel.RFIDBank.Format.Hex; } } private RFIDLabel.EErrorHandle ConvertErrorHandleMode(int index) { switch (index) { case 0: return RFIDLabel.EErrorHandle.None; case 1: return RFIDLabel.EErrorHandle.PauseMode; default: return RFIDLabel.EErrorHandle.ErrorMode; } } private int ToIndex(RFIDLabel.EErrorHandle value) { switch (value) { case RFIDLabel.EErrorHandle.None: return 0; case RFIDLabel.EErrorHandle.PauseMode: return 1; case RFIDLabel.EErrorHandle.ErrorMode: return 2; default: return 0; } } private int ToIndex(RFIDLabel.RFIDBank.Format value) { switch (value) { case RFIDLabel.RFIDBank.Format.Hex: return 0; case RFIDLabel.RFIDBank.Format.ASCII: return 1; default: return 0; } } private int ToIndex(RFIDLabel.LockType value) { switch (value) { case RFIDLabel.LockType.Unlock: return 0; case RFIDLabel.LockType.Lock: return 1; case RFIDLabel.LockType.Open: return 2; case RFIDLabel.LockType.Protect: return 3; default: return 0; } } private void TbAccessPassword_TextChanged(object sender, EventArgs e) { if (tbAccessPassword.Text != "" && tbAccessPassword.Text != "00000000") { cbECPBankMode.Enabled = true; cbAccesPasswordMode.Enabled = true; cbKillPasswordMode.Enabled = true; cbUserBankMode.Enabled = true; } else { cbECPBankMode.Enabled = false; cbAccesPasswordMode.Enabled = false; cbKillPasswordMode.Enabled = false; cbUserBankMode.Enabled = false; } } private void CbRewriteEPC_CheckedChanged(object sender, System.EventArgs e) { cbUseAdjust.Enabled = !cbRewriteEPC.Checked; } private void CbUseAdjust_CheckedChanged(object sender, System.EventArgs e) { cbRewriteEPC.Enabled = !cbUseAdjust.Checked; } private void TbDataColumn_ButtonClick(object sender, System.EventArgs e) { TextBoxButton textBox = sender as TextBoxButton; using (TextEditorForm form = new TextEditorForm(RFID.Report)) { form.ExpressionText = textBox.Text; form.Brackets = "[,]"; if (form.ShowDialog() == DialogResult.OK) { textBox.Text = form.ExpressionText; } } } /// public override void UpdateDpiDependencies() { base.UpdateDpiDependencies(); tbAccessPasswordDataColumn.Image = this.GetImage(52); tbKillPasswordDataColumn.Image = this.GetImage(52); tbEPCDataColumn.Image = this.GetImage(52); tbUserDataColumn.Image = this.GetImage(52); tbTIDDataColumn.Image = this.GetImage(52); } /// public override void Localize() { base.Localize(); MyRes res = new MyRes("Forms,RFIDLabelEditor"); Text = res.Get(""); pageReservedBank.Text = res.Get("ReservedBank"); gbReservedBank.Text = res.Get("ReservedBank"); lbAccessPassword.Text = res.Get("AccessPassword"); lbAccessPassWriteMode.Text = res.Get("AccessPassWriteMode"); lbKillPassword.Text = res.Get("KillPassword"); lbKillPassWriteMode.Text = res.Get("KillPassWriteMode"); lbAccessDataColumn.Text = res.Get("DataColumn"); lbKillDataColumn.Text = res.Get("DataColumn"); pageTIDBank.Text = res.Get("TIDBank"); gbTIDBank.Text = res.Get("TIDBank"); lbTID.Text = res.Get("TID"); lbTIDDataFormat.Text = res.Get("DataFormat"); lbTIDDataColumn.Text = res.Get("DataColumn"); pageEPCBank.Text = res.Get("EPCBank"); gbEPCBank.Text = res.Get("EPCBankFullName"); lbEPCDataFormat.Text = res.Get("DataFormat"); lbEPCFormat.Text = res.Get("EPCFormat"); lbEPC.Text = res.Get("EPC"); lbEPCBankMode.Text = res.Get("EPCBankMode"); cbUseAdjust.Text = res.Get("UseAdjust"); cbRewriteEPC.Text = res.Get("RewriteEPC"); lbEPCDataColumn.Text = res.Get("DataColumn"); pageUserBank.Text = res.Get("UserBank"); gbUserBank.Text = res.Get("UserBank"); lbUserDataFormat.Text = res.Get("DataFormat"); lbUserData.Text = res.Get("UserData"); lbUserBankMode.Text = res.Get("UserBankMode"); lbStartPermalock.Text = res.Get("StartPermalock"); lbCountPermalock.Text = res.Get("CountPermalock"); lbUserDataColumn.Text = res.Get("DataColumn"); pageOther.Text = res.Get("Other"); gbOther.Text = res.Get("Other"); cbAdaptiveAntenna.Text = res.Get("AdaptiveAntenna"); lbReadPower.Text = res.Get("ReadPower"); lbWritePower.Text = res.Get("WritePower"); lbErrorHandleMode.Text = res.Get("ErrorHandleMode"); } } }