今、処理対象としているデータにはビッグエンディアンとリトルエンディアンが混在している。
エンディアンって何?という方はWikiのエンディアンの項目を参照されたい。
また、貰うデータでそんな混在やめて貰えばいいじゃない?という意見もあるかと思う。しかし、これもまたその拡張子のものは随分と昔からその定義であり、その分野では広く使われているものなのだ。これもやむをえまい。

Windowsでは通常リトルエンディアンを使う。

とはいえ、データクラスの getter/setterで吸収できるものだろう。が、ちと面倒なのがリトルエンディアンはアドレスの増加単位が8ビットとか16ビットかで値の格納方法が違う事だ。
これはファイルに必ず入っているファイルコード、これはビッグエンディアンなので、これを使って確認することにしようかと思っている。
具体的には、ファイルコードを増加単位が8ビットと16ビットのリトルエンディアンに変換し、それが定義されている値と合致した方を採用する、という方法だ。

VBAでもできるし、言語的に慣れているのだが・・。また、ポインタを多用したいのでCの方がラクかも知れないが、Delphiには描画に優れいるコンポーネントがあるため・・、って書いていて、それならC++Builderでもよかったんじゃ?と脳裏をかすめたのも事実である。
めげずにがんばる。