2012-04-18 6 views
2

オフセットでバイトをチェックする方法を知る必要があります。私はヘックスのために文字列を使用しています。つまり、string hexcode1 = "0000A0E1";です。オフセットはint offset1 = 30030;です。offset1にhexcode1があるかどうかを調べるにはどうすればいいですか?私はfilestreamsとバイナリライター/読者について知っていますが、文字列でそれらを使う方法はわかりません。それは私が助けが必要な部分です。オフセットで特定のバイトをチェックし、それに応じてチェックボックスを設定する方法

+0

ビット単位の操作ですか? – Neil

+0

@Neil - 文字列ですか? – Oded

+0

オフセットは何の略ですか?ビット単位のオフセット? – Tigran

答えて

1

これは、このトリックを行う必要があります。バイナリリーダーを使用して、ファイルをオフセットし、バイトを読み取って文字列に変換して、現在の文字列と比較します。

 file = File.Open(myFileLocation); 
     BinaryReader br = new BinaryReader(file); 

     string hexcode1 = "0000A0E1"; 
     int offset1 = 20334; 

     file.Seek(offset1, SeekOrigin.Begin); 

     String byteRead = br.ReadByte().ToString(); 

     mycheckbox.Checked = (hexcode1.Equals(byteRead)); 
+0

明らかにsetcheckedと.equalsは存在しません。 .NET Frameworkを変更する必要がありますか? – user1341789

+0

私の答えを編集して正しい方法を使って設定をチェックしました。また、私は誤ってEqualsの首都Eを逃した。存在するはずです。 – Doomsknight

0

ストリーム内の特定の位置にバイトを取得するには、StreamPositionプロパティを使用して、必要なだけ読み取りを開始します。

ストリームがシークをサポートする場合は、Seekメソッドを使用できます。

int.Parseを使用して文字列を整数に解析し、結果の値をPositionまたはSeekに渡すことができます。

+0

ありがとうが、どうすればオフセットでバイト= hexstring1をチェックし、チェックボックスをチェックするように設定するのですか(私には聞こえにくいです) – user1341789

+0

@ user1341789 - バイトの読み方は分かりますか? 'string.Format'の説明も読んでください。実際には、ドキュメントを読む必要があります。 – Oded

+0

私はバイトの読み方を知っていますが、その後に何をすべきかわからない場合は、 – user1341789

関連する問題