RFIDLabelEditorForm.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. using FastReport.Controls;
  2. using FastReport.Editor;
  3. using FastReport.Utils;
  4. using System;
  5. using System.Windows.Forms;
  6. namespace FastReport.Forms
  7. {
  8. public partial class RFIDLabelEditorForm : BaseDialogForm
  9. {
  10. public RFIDLabel RFID { get; set; }
  11. public RFIDLabelEditorForm()
  12. {
  13. InitializeComponent();
  14. Localize();
  15. UIUtils.CheckRTL(this);
  16. UpdateDpiDependencies();
  17. }
  18. private void RFIDLabelEditor_Load(object sender, EventArgs e)
  19. {
  20. cbAccesPasswordMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" });
  21. cbKillPasswordMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" });
  22. cbECPBankMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" });
  23. cbUserBankMode.Items.AddRange(new object[] { "Unlock", "Lock", "Open", "Protected" });
  24. cbEPCDataFormat.Items.AddRange(new object[] { "Hex", "ASCII" });
  25. cbFormatTIDBank.Items.AddRange(new object[] { "Hex", "ASCII" });
  26. cbUserDataFormat.Items.AddRange(new object[] { "Hex", "ASCII" });
  27. cbErrorHandleMode.Items.AddRange(new object[] { "None", "Pause mode", "Erorr mode" });
  28. tbKillPassword.Text = RFID.KillPassword;
  29. cbKillPasswordMode.SelectedIndex = ToIndex(RFID.LockKillPassword);
  30. tbAccessPassword.Text = RFID.AccessPassword;
  31. cbAccesPasswordMode.SelectedIndex = ToIndex(RFID.LockAccessPassword);
  32. cbFormatTIDBank.SelectedIndex = ToIndex(RFID.TIDBank.DataFormat);
  33. tbTID.Text = RFID.TIDBank.Data;
  34. cbEPCDataFormat.SelectedIndex = ToIndex(RFID.EpcBank.DataFormat);
  35. tbEPC.Text = RFID.EpcBank.Data;
  36. tbEPCFormat.Text = RFID.EpcFormat;
  37. cbECPBankMode.SelectedIndex = ToIndex(RFID.LockEPCBank);
  38. cbUseAdjust.Checked = RFID.UseAdjustForEPC;
  39. cbRewriteEPC.Checked = RFID.RewriteEPCbank;
  40. cbUserDataFormat.SelectedIndex = ToIndex(RFID.UserBank.DataFormat);
  41. tbUserData.Text = RFID.UserBank.Data;
  42. cbUserBankMode.SelectedIndex = ToIndex(RFID.LockUserBank);
  43. nudStartPermalock.Value = RFID.StartPermaLock;
  44. nudCountPermalock.Value = RFID.CountPermaLock;
  45. cbAdaptiveAntenna.Checked = RFID.AdaptiveAntenna;
  46. cbErrorHandleMode.SelectedIndex = ToIndex(RFID.ErrorHandle);
  47. nudReadPower.Value = RFID.ReadPower;
  48. nudWritePower.Value = RFID.WritePower;
  49. tbAccessPasswordDataColumn.Text = RFID.AccessPasswordDataColumn;
  50. tbKillPasswordDataColumn.Text = RFID.KillPasswordDataColumn;
  51. tbEPCDataColumn.Text = RFID.EpcBank.DataColumn;
  52. tbUserDataColumn.Text = RFID.UserBank.DataColumn;
  53. tbTIDDataColumn.Text = RFID.TIDBank.DataColumn;
  54. }
  55. private void RFIDLabelEditor_FormClosed(object sender, FormClosedEventArgs e)
  56. {
  57. RFID.KillPassword = tbKillPassword.Text;
  58. RFID.LockKillPassword = ConvertMode(cbKillPasswordMode.SelectedIndex);
  59. RFID.AccessPassword = tbAccessPassword.Text;
  60. RFID.LockAccessPassword = ConvertMode(cbAccesPasswordMode.SelectedIndex);
  61. RFID.TIDBank.DataFormat = ConvertFormat(cbFormatTIDBank.SelectedIndex);
  62. RFID.TIDBank.Data = tbTID.Text;
  63. RFID.EpcBank.DataFormat = ConvertFormat(cbEPCDataFormat.SelectedIndex);
  64. RFID.EpcBank.Data = tbEPC.Text;
  65. RFID.EpcFormat = tbEPCFormat.Text;
  66. RFID.LockEPCBank = ConvertMode(cbECPBankMode.SelectedIndex);
  67. RFID.UseAdjustForEPC = cbUseAdjust.Checked;
  68. RFID.RewriteEPCbank = cbRewriteEPC.Checked;
  69. RFID.UserBank.DataFormat = ConvertFormat(cbUserDataFormat.SelectedIndex);
  70. RFID.UserBank.Data = tbUserData.Text;
  71. RFID.LockUserBank = ConvertMode(cbUserBankMode.SelectedIndex);
  72. RFID.StartPermaLock = (int)nudStartPermalock.Value;
  73. RFID.CountPermaLock = (int)nudCountPermalock.Value;
  74. RFID.AdaptiveAntenna = cbAdaptiveAntenna.Checked;
  75. RFID.ErrorHandle = ConvertErrorHandleMode(cbErrorHandleMode.SelectedIndex);
  76. RFID.ReadPower = (short)nudReadPower.Value;
  77. RFID.WritePower = (short)nudWritePower.Value;
  78. RFID.AccessPasswordDataColumn = tbAccessPasswordDataColumn.Text;
  79. RFID.KillPasswordDataColumn = tbKillPasswordDataColumn.Text;
  80. RFID.EpcBank.DataColumn = tbEPCDataColumn.Text;
  81. RFID.UserBank.DataColumn = tbUserDataColumn.Text;
  82. RFID.TIDBank.DataColumn = tbTIDDataColumn.Text;
  83. }
  84. private RFIDLabel.LockType ConvertMode(int index)
  85. {
  86. switch (index)
  87. {
  88. case 0:
  89. return RFIDLabel.LockType.Unlock;
  90. case 1:
  91. return RFIDLabel.LockType.Lock;
  92. case 2:
  93. return RFIDLabel.LockType.Open;
  94. case 3:
  95. return RFIDLabel.LockType.Protect;
  96. default:
  97. return RFIDLabel.LockType.Unlock;
  98. }
  99. }
  100. private RFIDLabel.RFIDBank.Format ConvertFormat(int index)
  101. {
  102. switch (index)
  103. {
  104. case 0:
  105. return RFIDLabel.RFIDBank.Format.Hex;
  106. case 1:
  107. return RFIDLabel.RFIDBank.Format.ASCII;
  108. default:
  109. return RFIDLabel.RFIDBank.Format.Hex;
  110. }
  111. }
  112. private RFIDLabel.EErrorHandle ConvertErrorHandleMode(int index)
  113. {
  114. switch (index)
  115. {
  116. case 0:
  117. return RFIDLabel.EErrorHandle.None;
  118. case 1:
  119. return RFIDLabel.EErrorHandle.PauseMode;
  120. default:
  121. return RFIDLabel.EErrorHandle.ErrorMode;
  122. }
  123. }
  124. private int ToIndex(RFIDLabel.EErrorHandle value)
  125. {
  126. switch (value)
  127. {
  128. case RFIDLabel.EErrorHandle.None:
  129. return 0;
  130. case RFIDLabel.EErrorHandle.PauseMode:
  131. return 1;
  132. case RFIDLabel.EErrorHandle.ErrorMode:
  133. return 2;
  134. default:
  135. return 0;
  136. }
  137. }
  138. private int ToIndex(RFIDLabel.RFIDBank.Format value)
  139. {
  140. switch (value)
  141. {
  142. case RFIDLabel.RFIDBank.Format.Hex:
  143. return 0;
  144. case RFIDLabel.RFIDBank.Format.ASCII:
  145. return 1;
  146. default:
  147. return 0;
  148. }
  149. }
  150. private int ToIndex(RFIDLabel.LockType value)
  151. {
  152. switch (value)
  153. {
  154. case RFIDLabel.LockType.Unlock:
  155. return 0;
  156. case RFIDLabel.LockType.Lock:
  157. return 1;
  158. case RFIDLabel.LockType.Open:
  159. return 2;
  160. case RFIDLabel.LockType.Protect:
  161. return 3;
  162. default:
  163. return 0;
  164. }
  165. }
  166. private void TbAccessPassword_TextChanged(object sender, EventArgs e)
  167. {
  168. if (tbAccessPassword.Text != "" && tbAccessPassword.Text != "00000000")
  169. {
  170. cbECPBankMode.Enabled = true;
  171. cbAccesPasswordMode.Enabled = true;
  172. cbKillPasswordMode.Enabled = true;
  173. cbUserBankMode.Enabled = true;
  174. }
  175. else
  176. {
  177. cbECPBankMode.Enabled = false;
  178. cbAccesPasswordMode.Enabled = false;
  179. cbKillPasswordMode.Enabled = false;
  180. cbUserBankMode.Enabled = false;
  181. }
  182. }
  183. private void CbRewriteEPC_CheckedChanged(object sender, System.EventArgs e)
  184. {
  185. cbUseAdjust.Enabled = !cbRewriteEPC.Checked;
  186. }
  187. private void CbUseAdjust_CheckedChanged(object sender, System.EventArgs e)
  188. {
  189. cbRewriteEPC.Enabled = !cbUseAdjust.Checked;
  190. }
  191. private void TbDataColumn_ButtonClick(object sender, System.EventArgs e)
  192. {
  193. TextBoxButton textBox = sender as TextBoxButton;
  194. using (TextEditorForm form = new TextEditorForm(RFID.Report))
  195. {
  196. form.ExpressionText = textBox.Text;
  197. form.Brackets = "[,]";
  198. if (form.ShowDialog() == DialogResult.OK)
  199. {
  200. textBox.Text = form.ExpressionText;
  201. }
  202. }
  203. }
  204. ///<inheritdoc/>
  205. public override void UpdateDpiDependencies()
  206. {
  207. base.UpdateDpiDependencies();
  208. tbAccessPasswordDataColumn.Image = this.GetImage(52);
  209. tbKillPasswordDataColumn.Image = this.GetImage(52);
  210. tbEPCDataColumn.Image = this.GetImage(52);
  211. tbUserDataColumn.Image = this.GetImage(52);
  212. tbTIDDataColumn.Image = this.GetImage(52);
  213. }
  214. ///<inheritdoc/>
  215. public override void Localize()
  216. {
  217. base.Localize();
  218. MyRes res = new MyRes("Forms,RFIDLabelEditor");
  219. Text = res.Get("");
  220. pageReservedBank.Text = res.Get("ReservedBank");
  221. gbReservedBank.Text = res.Get("ReservedBank");
  222. lbAccessPassword.Text = res.Get("AccessPassword");
  223. lbAccessPassWriteMode.Text = res.Get("AccessPassWriteMode");
  224. lbKillPassword.Text = res.Get("KillPassword");
  225. lbKillPassWriteMode.Text = res.Get("KillPassWriteMode");
  226. lbAccessDataColumn.Text = res.Get("DataColumn");
  227. lbKillDataColumn.Text = res.Get("DataColumn");
  228. pageTIDBank.Text = res.Get("TIDBank");
  229. gbTIDBank.Text = res.Get("TIDBank");
  230. lbTID.Text = res.Get("TID");
  231. lbTIDDataFormat.Text = res.Get("DataFormat");
  232. lbTIDDataColumn.Text = res.Get("DataColumn");
  233. pageEPCBank.Text = res.Get("EPCBank");
  234. gbEPCBank.Text = res.Get("EPCBankFullName");
  235. lbEPCDataFormat.Text = res.Get("DataFormat");
  236. lbEPCFormat.Text = res.Get("EPCFormat");
  237. lbEPC.Text = res.Get("EPC");
  238. lbEPCBankMode.Text = res.Get("EPCBankMode");
  239. cbUseAdjust.Text = res.Get("UseAdjust");
  240. cbRewriteEPC.Text = res.Get("RewriteEPC");
  241. lbEPCDataColumn.Text = res.Get("DataColumn");
  242. pageUserBank.Text = res.Get("UserBank");
  243. gbUserBank.Text = res.Get("UserBank");
  244. lbUserDataFormat.Text = res.Get("DataFormat");
  245. lbUserData.Text = res.Get("UserData");
  246. lbUserBankMode.Text = res.Get("UserBankMode");
  247. lbStartPermalock.Text = res.Get("StartPermalock");
  248. lbCountPermalock.Text = res.Get("CountPermalock");
  249. lbUserDataColumn.Text = res.Get("DataColumn");
  250. pageOther.Text = res.Get("Other");
  251. gbOther.Text = res.Get("Other");
  252. cbAdaptiveAntenna.Text = res.Get("AdaptiveAntenna");
  253. lbReadPower.Text = res.Get("ReadPower");
  254. lbWritePower.Text = res.Get("WritePower");
  255. lbErrorHandleMode.Text = res.Get("ErrorHandleMode");
  256. }
  257. }
  258. }