示例#1
0
        public CSendParam(SendParamFormat format, SendParamMode mode, int delayTime, string data)
        {
            _Format    = format;
            _Mode      = mode;
            _DelayTime = delayTime;
            _Data      = data;

            switch (_Format)
            {
            case SendParamFormat.ASCII:
                _DataBytes = System.Text.ASCIIEncoding.Default.GetBytes(_Data);
                break;

            case SendParamFormat.Hex:

                string   inputText = Regex.Replace(_Data, @"[0-9A-Fa-f]{2}", "$0 ");
                string[] strArray  = inputText.Split(new string[] { ",", " ", "0x", ",0X", ",", "(", ")" }, StringSplitOptions.RemoveEmptyEntries);


                StringBuilder sbOut = new StringBuilder();
                foreach (string s in strArray)
                {
                    sbOut.AppendFormat("{0:X2} ", Convert.ToByte(s, 16));
                }
                _Data = sbOut.ToString().TrimEnd(' ');


                _DataBytes = Array.ConvertAll <string, byte>(strArray, new Converter <string, byte>(HexStringToByte));

                break;

            default:
                break;
            }
        }
示例#2
0
        public CSendParam(SendParamFormat format, SendParamMode mode, int delayTime, string data)
        {
            _Format    = format;
            _Mode      = mode;
            _DelayTime = delayTime;
            _Data      = data;

            switch (_Format)
            {
            case SendParamFormat.ASCII:
                _DataBytes = StreamConverter.AsciiStringToArray(Global.Encode, data);
                break;

            case SendParamFormat.Hex:
                _DataBytes = StreamConverter.HexStringToArray(data);
                break;

            default:
                break;
            }
        }
示例#3
0
        public CSendParam(SendParamFormat format, SendParamMode mode, int delayTime, byte[] data, int startIndex, int count)
        {
            _Format    = format;
            _Mode      = mode;
            _DelayTime = delayTime;
            _Data      = string.Empty;
            if (data != null)
            {
                _DataBytes = new byte[count];
                Array.Copy(data, startIndex, _DataBytes, 0, count);

                if (Format == SendParamFormat.Hex)
                {
                    _Data = BitConverter.ToString(_DataBytes).Replace('-', ' ').TrimEnd(new char[] { ' ' });
                }
                else
                {
                    _Data = System.Text.ASCIIEncoding.Default.GetString(_DataBytes);
                }
            }
        }
示例#4
0
        public CSendParam(SendParamFormat format, SendParamMode mode, int delayTime, byte[] data, int startIndex, int count)
        {
            _Format    = format;
            _Mode      = mode;
            _DelayTime = delayTime;
            _Data      = string.Empty;
            if (data != null)
            {
                _DataBytes = new byte[count];
                Array.Copy(data, startIndex, _DataBytes, 0, count);

                if (Format == SendParamFormat.Hex)
                {
                    _Data = StreamConverter.ArrayToHexString(data, startIndex, count);
                }
                else
                {
                    _Data = StreamConverter.ArrayToAsciiString(Global.Encode, _DataBytes, startIndex, count);
                }
            }
        }