したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

【とりあえず】初めての方。足跡どうぞ【足跡】

145名無しさん:2014/05/21(水) 06:15:35
>>144
ようこそ、F-BASICの世界へ。
Windows版 F-BASICのプログラムのメンテナンスや移植は初めてとのことなので、
唐突ですがアドバイスを。

F-BASICは、N88-BASICなどのような旧来の書き方と、QuickBasicや
VB for Applications (VBA)のような新しい書き方ができ、しかも混在が可能です。
 なので、古いプログラムを徐々に新しい書き方に変えたり、追加修正部分では
新しい書き方のみで行くといったようなことができます。
 将来的な移植のことも考えるとできるだけ新しい書き方を使うようにした方が
よいと思います。


細かい例をだすと・・、
変数の宣言 var A$ は新しい書き方 var A as string と等価。
(DIM命令は配列変数の宣言専用となっています。)
旧来のDEFINT 命令等もあるが、これはもう使わない方がよい。(VB.netでは廃止)

サブルーチン呼び出しは GOSUB だけでなく sub命令で関数化して呼び出せる。
ユーザー定義関数 DEF fn* の形式はもう使わず、 function命令 で関数を作る。
(なお、GOSUB、DEF fn* ともに、VB.netでは廃止)

プログラム中には行番号は不要。もう、付けなくてよい。
GOTOの飛び先の行番号はラベル化(goto 1230 -> goto *L1230)したほうがよいかも。
− 行番号は有っても無くてもよい。有無の混在すら許される。
− 行番号は「飛び先ラベル」としての意味しかなく、ブログラム行の実行順序ではない。
だから、メンテナンスするプログラムに行番号が有っても、追加修正した行に
行番号を振る必要はない。(まあ、見た目は変ですが)


マルチステートメント(':'で区切って1行に複数命令を書く)は新規には極力使わない。
WHILE - WEND命令は、新規ではDo While - Loop命令を使う方がよい。

GOTO命令を使ってループしている部分はなるべくDo - Loop命令等で書き換える。
また、ループからGOTO命令でループ外に出る部分はEXIT命令の使用を検討。

on .. goto/gosub文は新規では使わない。select case文で置き換えましょう。
ブロック化IF文(IF THEN - ELSE IF- ENDIF)が使えるので、使いましょう。
for - next文のnextにはなるべく変数名を書きましょう。

プログラムソースファイルは限定的ながら複数に分割可能。
(この場合はプロジェクトファイルで管理します)
−.BASファイルが実行開始するソースで、.SUBファイルにsubやfunction命令で関数化
したものを置き、#INCLUDE命令/インクルードファイル(.BI)で関数宣言読み込みなど。

変数名に漢字も使えます。(予約語除く)
単精度浮動小数点型変数は新規には使わないほうがよい。
変数にロング整数型(32bit符号付)があります。活用しましょう。
− ランダムアクセスファイルのレコード番号指定にはこれを使いましょう。

なるべくF-BASICの「翻訳オプション」でデフォルト変数禁止に設定するべき。
− 古いプログラムはきちんと変数宣言がなされていないことが多いので、
できるだけこのオプション指定をして翻訳(コンパイル)エラーであぶりだして
(少しづつでも)宣言を追加修正しておいたほうがよい。

ほかに、#DEFINE 文というプリプロセッサ構文なんてものもあります。

それと、もしRS-232Cを使うプログラムならば「運用環境ファイル」の作成と
プロジェクトファイルによる管理が必須です。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板