今時珍しいコンソール アプリケーションの作成に挑戦してみます。珍しいとはいっても、バッチプログラムなどの画面出力などをさほど気にしないプログラムではコンソール タイプを採用する機会はまだまだ沢山あります。

ActiveBasicでは、ご存知の通り、N88BASICのようなプロンプト画面に対応させることができますが、コンソールは全く別物なので、注意しましょう(俗に言う、DOS窓のことです)。あと、Windows上のコンソールでのみ動作可能ですので、MS-DOSでは動きません。

コンソール アプリっていったって、具体的にどうするのよ?
適当なプログラムファイル(test.abpなど)を作成し、先頭部分に "#console" という行を挿入しておいて下さい。

それだけです。

なんともあっけなく対応できてしまいました(^^;。さて、入出力はというと、従来のPrint、Input命令がそのまま利用できます。早速、コンソール画面を使って日付、時刻の表示プログラムを作ってみましょう。



#console

Dim a As Long
Dim buffer[255] As Byte

*StartProgram

Print "1. 日付を表示"
Print "2. 時刻を表示"
Print "3. 終了"

Input a
Select Case a
Case 1
GetDateFormat(LOCALE_USER_DEFAULT, DATE_LONGDATE, ByVal 0, 0, buffer, 255)
Print MakeStr(buffer)
Case 2
GetTimeFormat(LOCALE_USER_DEFAULT, LOCALE_NOUSEROVERRIDE, ByVal 0, 0, buffer, 255)
Print MakeStr(buffer)
Case 3
End
End Select

Print
Goto *StartProgram


非常に簡単な制御プログラムでした。#console指定時に利用できるコンソール入出力用命令語は、今現在、以下のようなものが存在します。

Print、Input、Locate