バイナリを読み書きできる Xtraは幾つかあるので、それぞれ使ってみたまとめ。基本的にはどれもできることは似通ってるので、コレじゃないとあれができないとか、そんなに不便な事は起こらないと思う。バイトを読み書きする単純作業だけだし。でも、比べてみると使い勝手や性能が結構違う。
- Buddy File (Magic Modules / $US 60 / Windows, OSX and Mac Classic)
- BinaryIO (updateStage / $149 / 32-bit Windows, Mac System 8--OSX)
- BinFileIO (Laurent Cozic / $free / windows)
プラットフォームは、Buddy Fileと BinaryIOが Winと Macに対応しているのが嬉しい。Windowsのみのコンテンツであれば、BinFileIOも使える。Shockwaveにはどれも対応していない。
コマンドや使い勝手は、BinFileIOが非常にシンプルで分かりやすくて良い。コマンド数が少ないが、大体の機能は押さえてある。Buddy Fileと BinaryIOは、Cからそのまま引っ張ってきたようなコマンド。バイトの並び順や制限に関する細やかなコマンドも用意されている。Buddy Fileは浮動小数(IEEE 745)の読み書きができないのがかなりの欠点。
性能。基本的にファイルを読み書きするだけだけど、性能の差が激しい。例えば、2バイトの整数(Short)を読み込むコマンドを比較すると、200Kバイトを読み込むのに 「Buddy File:10ms, BinaryIO:20ms, BinFileIO:180ms」という結果。他の類似コマンドも同じ比率で速度差がある( 但し、BinaryIOのreadBytesはダントツ遅い)。
どれも一長一短だけれども、お奨めは Buddy File。浮動小数の読み書きができないのは致命的だが、Lingoでなんとかできる範囲。コーディングに自信がなければ、BinaryIO。ちょこっとだけバイナリの読み書きが必要であれば、BinFileIO。