● サンプルプログラム - sc_basic
StrCalc BASIC をコンピュータ言語として扱う場合のサンプルです。StrCalc BASIC プログラミングの練習や、アルゴリズムの実験・検証、小規模の演算処理等、幅広く利用する事ができます。
メインウインドウの他に、テキストI/Oのためのコンソールウインドウ、グラフィック描画のためのウインドウが表示されます。
StrCalc BASIC で記述したプログラムのテキストファイルを「ソースファイル名」の部分に指定し、「実行」をクリックすると開始します。なお、ドラッグ&ドロップでソースファイル名の指定を行う事もできます。
このサンプルでは、I/Oのためのユーザステートメントやユーザ関数、定数を追加しています。仕様は「ユーザステートメントリファレンス」を参照してください。
フォルダ Samples\bassmp 内には、32 bit 版、64 bit 版共通の sc_basic サンプルプログラムが入っています。StrCalc BASIC プログラミングの参考に用意されているもので、中には煩雑なものもありますが、難易度は高くありません。
中断の無効化
設定の中にある「ボタンによる中断を無効にする」にチェックを入れると、BASICPARAM 構造体のメンバ
fevery
に NULL がセットされます。ステップ毎の中断監視を行わなくなりますので、全体の処理が少し速くなります。
効果はあまり大きくないので、次のような状態では実感できないかもしれません。
元々早めに終了するプログラムに適用する場合
処理能力が高いマシン上で動作させている場合
極端に遅いプログラムに適用する場合
ファイルアクセスやユーザ入力を頻繁に繰り返すプログラムに適用する場合
etc.
なお、中断が効かなくなりますので、デバッグが済んでいないプログラムに適用する事は推奨しません。
sc_basic の改良
このサンプルは、コンピュータ言語としてはまだ不完全です。改良できる余地は十分にありますので、余裕がある場合は積極的に手を入れてみてください。オリジナルの BASIC 言語にしてみるのも良いと思います。
なお、改良する際、ファイルのバックアップは忘れずに行ってください。
プログラミング上級者が練習用に使用するのであれば、あえて改良・追加を行わないという選択肢もあります。
機能の乏しいコンピュータ言語で、妥協しないプログラムを作成する事は容易ではありません。
全てを再コンパイルする場合
このサンプルプログラムについてはリンクの都合上、コンパイルに順序がありますので注意してください。
末端の DLL を先にコンパイルし、最後に exe をコンパイルします。
textedit をコンパイルします。
cio 、fio 、gio 、errmsg をコンパイルします。
これらには順序はありません。
sc_basic をコンパイルします。
順番にコンパイルするバッチファイル cp*.bat がフォルダ内に入っていますので、再コンパイルする場合は利用してみてください。使用方法は、コンソールのカレントフォルダを sc_basic に移動し、バッチを起動します。
cp*.bat はコンパイルが成功した時に、sc39*.dll 以外の DLL を sc_basic フォルダ直下にコピーします。