コラム / バイナリエディタ / 9



さて、どうしよう。
まず、バイナリファイルを読み書きする、ということは、
ファイルを直接扱う方法が必要です。
また、16進数のテキストを、数値に変換する方法も必要です。
工夫と技術しだいで、いくらでも高機能になるとおもいますが、
とりあえず必要最低限で作ろうと思います。
フォーマットは、
xx xx xx xx と、16進数2桁の1バイト分を、半角スペース区切りに強制。
スペースの来る位置ならいつでも改行してよい 
にしようかなぁ。
読み込みと書き込み、どちらから作るかですが、
書き込みは、間違った文字の処理が必要ですが、
読み込みは、そういう特殊な例外は無いので簡単とかんがえ、
読み込みから作ろうと思います。
さて、ファイルを開くといえば、ファイルを開くダイアログ、というのが
Windowsで共通にあります。
それを呼び出すためのコンポーネントがあるので貼り付けましょう。
コンポーネントパレットの左から6つ目ぐらいの、
Dialogs タブの OpenDialog を 使います。

img37.png

ダイアログには、フィルターが指定できます。
あの、ファイルを開くときに、
*.txt とか 、 開ける拡張子を限定する奴。
バイナリエディターですから、なんでもかんでも開けるべきなのですが、
一応、「なんでもかんでも」というフィルターを設定しましょう。
OpenDialogのオブジェクトインスペクタから、Filterプロパティーを設定してください。

img38.png

こんな風に設定

img39.png

また、Optionsから二つほど設定を変えます。

img40.png

そして、読み書き時に使うための、ファイルストリームを
変数宣言しましょう。
先ほど宣言した、FilePathの次に、
FS:TFileStream;
を、宣言してください。

img42.png

それでこのページは終わります。