private void CMD_Save_btn_Click(object sender, EventArgs e) { NewCMD = CMD_bytesBox.GetCMD(); if (NewCMD != null) { this.DialogResult = DialogResult.OK; } }
/// <summary> /// 校验和 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MS_CheckSum_Click(object sender, EventArgs e) { Lib.CMD cmd = CMD_bytesBox.GetCMD(); if (cmd != null) { byte check = Lib.BytesCheck.GetXOR(cmd.Bytes); CMD_bytesBox.AppendText(Convert.ToString(check, 16).PadLeft(2, '0')); } }
/// <summary> /// 获取命令对象 /// </summary> /// <returns></returns> public Lib.CMD GetCMD() { try { Lib.CMD Cmd = null; if (this.Text.Trim() == string.Empty) { MessageBox.Show("不允许内容为空!"); return(null); } byte[] data; switch (_EncodeType) { case EnumType.DataEncode.Hex: string[] HexStr = this.Text.Trim().Split(' '); data = new byte[HexStr.Length]; for (int i = 0; i < HexStr.Length; i++) { data[i] = (byte)(Convert.ToInt32(HexStr[i], 16)); } Cmd = new Lib.CMD(EnumType.DataEncode.Hex, data); break; case EnumType.DataEncode.ASCII: data = new ASCIIEncoding().GetBytes(this.Text.Trim()); Cmd = new Lib.CMD(EnumType.DataEncode.ASCII, data); break; case EnumType.DataEncode.GB2312: data = Encoding.GetEncoding("GB2312").GetBytes(this.Text); Cmd = new Lib.CMD(EnumType.DataEncode.GB2312, data); break; } return(Cmd); } catch (Exception ex) { MessageBox.Show(ex.Message); return(null); } }
public CmdForm(Lib.CMD cmd) { InitializeComponent(); CMD_bytesBox.SetCMD(cmd); SetType(CMD_bytesBox.EncodeType); }