QuickBASIC

ウィキペディアから

Microsoft QuickBASIC(マイクロソフト クイックベーシック)は、マイクロソフトが開発した統合開発環境。また、そこで用いられるプログラミング言語Microsoft Visual Basicの前身でもある。MS-DOS版とMacintosh版がある。

MS-DOS版の開発環境はMS-DOS上での動作ながら非常に高機能で、かつ文字ベースでGUIエミュレートしていたため視覚的に操作できた。

歴史

QuickBASICの最初のバージョンは1985年にIBM PC用にリリースされた。1986年にリリースされたVersion 2.0で統合開発環境 (IDE) を搭載。Version 3.0でコプロセッサやdo-loop文に対応。Version 4.0でソースコード入力画面での文法チェックやブレークポイント機能などが追加された[1]。1988年にはMacintosh II向けのQuickBASICがリリースされた[2]

日本では1988年にQuickBASIC Version 4.2がPC-9800シリーズAXシリーズ向けに発売された。また、日本IBM富士通がそれぞれ自社のプラットフォーム向けに発売している。

QuickBASIC単体の最終バージョンは1988年(日本では1989年)にリリースされたVersion 4.5だが、OS/2アプリケーションの開発が可能な上位製品のMicrosoft BASIC Professional Development SystemでQuickBASIC上位互換の開発環境「QuickBASIC Extended Version」(QBX) が搭載されており[3]、1990年10月(日本では1991年6月)にリリースされたVersion 7.1まで使われた。

1992年(日本では1993年)にはイベント駆動型プログラミングを容易にしたMicrosoft Visual Basic Programming System for MS-DOSがリリースされ、QuickBASICのソースコードは容易に移植できた。これが最初で最後のMS-DOS版となり、Windows版Visual Basicと言語の仕様に互換性はない。

開発環境

コンパイラ・インタプリタ

  • コンパイラは、実行ファイルのサイズが小さいランタイム版、実行が高速な独立版のバイナリをそれぞれ生成することができた。
  • インタプリタ実行の場合、後述するデバッガを利用することができた。
  • 複数のソースファイルの分割コンパイル、リンクができた。プロジェクトの作成にも対応していた。

エディタ

  • ソースコードの入力中に文法エラーを検出して指摘する機能があった。
  • テキストの範囲指定、コピー、ペースト、検索、置換、インデント調整など豊富な編集機能があった。
  • サブルーチン単位で画面に表示して編集することができた。
  • ソースファイルの読み込み及び保存は、テキスト形式に加えN88-BASICのバイナリ形式でも行えた(PC-9801版のみ)。

オンラインヘルプ

  CALL mdreceived(path&, &HFF, 22, 1, 84, db1(1), ret3%)

デバッガ

主に以下のような機能があった。

言語

GW-BASIC以前のMicrosoft BASICに比べ、ローカル変数や構造体など構造化に対応して機能が大きく拡張されている。

データ型

変数

グローバル変数とローカル変数、スタティック変数とC言語で言うauto変数があった。

制御構造

ループ

  • for
  • while ... wend
  • do ... loop

最後の do ... loop がもっとも柔軟に書ける形式である。

do while 条件
    ...
loop
do until 条件
    ...
loop
do
    ...
loop while 条件
do
    ...
loop until 条件

分岐

  • 一行if
if 条件 then 真のとき else 偽のとき
  • 複数行if
if 条件 then
   真のとき
else
   偽のとき
end if
  • select case
    C言語のswitch文に似ているが、整数以外の値も使用でき、範囲などの条件を記述することもできた。

関数・サブルーチン

  • サブルーチンを記述することができた。値を返す場合は関数、値を返さない場合はサブルーチンであった。
  • C言語のreturnに相当する Exit SubExit Function ステートメントがそれぞれあった。
  • 再帰呼び出しが可能だった。

割り込み処理

以下のようなタイミングで割り込み処理を行うことができた。

  • エラー発生
  • キー押下
  • タイマー
  • 音楽演奏バッファ

エラーに対する割り込み処理を行った場合、resumeステートメントで元の処理を再開することもできた。

関連項目

カテゴリ / テンプレート

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.