|
動作環境Microsoft® Visual Basic 6.0 Professional Edition SP5のライブラリが必要です。
概要目的コンマ、空白あるいはタブで区切られたテキストファイルを、表計算ソフトのワークシートのようにセルに読み込んで、各セル同士で比較するプログラムです。マトリクスの出力など、多数の数字の羅列同士の比較を主目的として作成しました。計算プログラムを修正したことにより、修正前の出力と意図せず変わってしまっていないかどうか、チェックすることなどができます。 エクセルでも、それぞれのファイルを別のワークシートに読み込んで、3枚目のワークシート上で串刺し比較すれば、同じことができます。ただ、面倒です。エクセルで簡単にできる方法があれば、是非教えてください。 特記事項デリミタの処理numcmpでは、コンマ、空白あるいはタブは、いくつ入っていても、1つと見なし(てしまい)ます。よって、2つのテキストファイルがこれらのデリミタのみで異なっていても、身の部分で比較できます。 数字の比較例えば、1.234E+01と1.234E+001について、
numcmpでは、これらの場合に、それぞれ、同じと判断したり、差の割合のオーダーを表示したりします。 内容オーダーの比較方法浮動小数点数に「=」を使うのはセンスがないですが、それでも「=0」だと判断してくれたり、2つの数字を同じと判断してくれたりすることはあります。 もし、両方のセルが数値なら、数値として比較します。
もし、少なくとも一方が数値でないなら、文字列として比較します。
常用対数(Log10)の読み方と判定例えば、両方の数値の差がFile 1の数字の1%の場合、-Log10 (0.01)=2となります。0.1%なら3となります。すなわち、表示される数値が大きいほど、差が小さいことになります。 一般的なパソコン上で倍精度浮動小数点数(double)を用いる場合、表示される常用対数(Log10)の負値は、最大でも15程度です。これは、15桁程度の精度であるためです。 そこで、10〜12程度以上の数値が表示されれば、両方の数値の差はパソコンの誤差が原因と考えられ、ほぼ等しいと判定してよいでしょう。計算内容によっては、5〜6程度でも、工学的にはほぼ等しいと判定できることもあります。 挙動ファイルの読込み比較対照の2つのファイルは、普通のWindows上のプログラムと同様にプルダウンメニューやツールバーで読み込めるほか、ドラッグ・アンド・ドロップや、コマンドラインからも与えることができます。 コマンドライン引数このような比較は、バッチ処理したいものです。そこで、いくつかのコマンドライン引数を用意しました。
で調べてください。 バグとお願い子フォームを横方向または縦方向に並べる命令が、VB6SP5では逆になっているような気がします。numcmpでは、横方向に並べようとしたときに縦方向に、またはその逆に、並び替えられます。 どなたか、アイコンを作ってください。 |
|