/// <summary>
        /// 検索を実行
        /// </summary>
        private void doSearch()
        {
            var currentSearchType = (SearchType)searchTypeComboBox.SelectedItem;

            byte[] searchBytes = null;

            try {
                switch (currentSearchType)
                {
                case SearchType.Hex:
                    searchBytes = HexConverter.ToBytes(searchContentComboBox.Text);
                    break;

                case SearchType.Byte:
                    searchBytes = new byte[] { byte.Parse(searchContentComboBox.Text) };
                    break;

                case SearchType.Int16:
                    searchBytes = BitConverter.GetBytes(Int16.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.UInt16:
                    searchBytes = BitConverter.GetBytes(UInt16.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.Int32:
                    searchBytes = BitConverter.GetBytes(Int32.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.UInt32:
                    searchBytes = BitConverter.GetBytes(UInt32.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.Int64:
                    searchBytes = BitConverter.GetBytes(Int64.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.UInt64:
                    searchBytes = BitConverter.GetBytes(UInt64.Parse(searchContentComboBox.Text));
                    break;

                case SearchType.Single:
                    searchBytes = BitConverter.GetBytes(Single.Parse(searchContentComboBox.Text));
                    break;
                }

                if (searchBytes != null)
                {
                    highlightHex(HexConverter.ToHex(searchBytes));
                }
            }
            catch {
                clearHighlight();
                return;
            }
        }
        /// <summary>
        /// 現在ヘキサビューで選択している部分のバイト配列を取得する
        /// 1byte分も選択されていない場合は要素数0のバイト配列を返す
        /// nullを返すわけではないので注意
        /// </summary>
        /// <returns></returns>
        private byte[] getSelectedBytes()
        {
            var selectedText = hexTextBox.SelectedText.Trim();

            if (selectedText.Length < 2)
            {
                return(new byte[0]);
            }

            return(HexConverter.ToBytes(hexTextBox.SelectedText));
        }
Exemple #3
0
 /// <summary>
 /// 16進数表記文字列をHexオブジェクトにぱーすする
 /// </summary>
 /// <param name="hexString"></param>
 /// <returns></returns>
 public static Hex Parse(string hexString)
 {
     return(new Hex(HexConverter.ToBytes(hexString)));
 }