PB-Prog > 資料 TenBASIC Version 1.0.5 オンラインマニュアル > 5. プログラミング



5-1. プログラムの構造

・プログラムは,行の集まりで構成されます。

プログラム─┬─行
            ├─行
            │  :
            │  :
            │  :
            └─行

・行は,行番号+空白+ステートメントで構成されます。

        空白                :                :
└──┘    └──────┘ └──────┘ └──────┘
 行番号      ステートメント : ステートメント : ステートメント

・行番号は,1〜65535 の整数です。
・ひとつのプログラムに同一の行番号を持つ行は,存在しません。
・ステートメントは,コマンド+空白+引数で構成されます。

          空白        ,        ,
└───┘    └──┘ └──┘ └──┘
 コマンド       引数  ,  引数  ,  引数

・予約語は,システムによって予約されている識別子を示します。

予約語 説明
コマンド 入力エリアまたは,プログラム内部から実行します。
数値関数 数値を返す関数です。
文字関数 文字を返す関数です。
演算子 AND, OR, XOR などです。
その他 TO, STEP などです。



5-2. プログラムの入力

・プログラムの追加は,存在しない行番号に対して以下の入力を行います。

BASICまたはTEXTモードにて
行番号 空白 ステートメント [Enter]

・プログラムの修正は,存在する行番号に対して以下の入力を行います。

BASICまたはTEXTモードにて
行番号 空白 ステートメント [Enter]

・プログラムの削除は,存在する行番号に対して以下の入力を行います。

BASICまたはTEXTモードにて
行番号 [Enter]

・EDIT コマンドを使用することにより,エディタを起動してプログラムを編集することができます。
・詳しくは,EDIT コマンドの説明を参照してください。



5-3. アンダーバー付き予約語

・ターゲットによっては,一部の予約語は使用できません。

(ターゲットが DEFAULT の場合)
>LBLANK 10 [Enter]
指定した行を追加しました。
>
(ブランク行 10 を追加します)

(ターゲットが PC-E500 の場合)
>LBLANK 10 [Enter]
Syntax error
>
(LBLANK という予約語は存在しません。変数名として認識しています)

・しかし,アンダーバー付き予約語はすべてのターゲットで使用可能です。

(ターゲットが PC-E500 の場合)
>_LBLANK 10 [Enter]
Insert a new line
>



5-4. ラベル

・プログラム中で,行番号の代わりにラベルが使用可能です。
・ラベルは,アスタリスク (*) から始まる文字列です。以下は,ラベルの使用例です。

10 *LABEL PRINT "abc"
20 GOTO *LABEL

・ラベルの宣言は,行の先頭のみ有効です。
・同一のラベルが複数存在する場合は,最小の行番号のラベルが有効です。
・アルファベットの大文字/小文字は,区別しません。(SHARP)
・アルファベットの小文字は,大文字に変換します。  (SHARP)
・アルファベットの大文字/小文字は,区別します。  (CASIO)
・アルファベットの小文字は,大文字に変換しません。(CASIO)
・文字列形式のラベル (例:"LABEL") は,使用できません。



5-5. デバイス名

・ファイルに対する入出力 (SAVE, LOAD など) で使用します。
・以下のデバイス名が使用可能です。

デバイス名 説明
S1 MS-DOS と同じ 8 + 3 形式です。
アルファベットの小文字は,大文字に変換します。
独自フォーマット形式で保存します。
アルファベット (A 〜 Z), 数字 (0 〜 9), アンダーバー (_) が使用可能です。
S2 一般的なテキスト形式で保存します。
A 〜 Z 仮想ドライブです。
一般的なテキスト形式で保存します。
DEFDRV コマンドを使用することにより,指定することができます。詳しくは,DEFDRV コマンドの説明を参照してください。
0 〜 9
COM, COM0 シリアルポートです。
詳しくは、5-7. シリアルポートの説明を参照してください。
COM1 〜 COM20

・"S1" の保存形式は,将来のバージョンアップにより変更する可能性があります。("S2", "A" 〜 "Z", "0" 〜 "9" を使用することを推奨します)
・"S1" の保存先ディレクトリは,"(TenBASIC のインストール先)\PalmDB1\DB\0" です。
・"S2" の保存先ディレクトリは,"(TenBASIC のインストール先)\PalmDB1\Files" です。



5-6. ファイル名

・デバイス名/拡張子を省略した際の動作は,以下の通りです。

(SHARP) (CASIO)
コマンド デバイス名
省略
拡張子
省略
CHAIN, LOAD, MERGE, SAVE 前回と同じです。 .BAS
COPY, FILES, KILL, LFILES, NAME, SET 無いものとして扱います。
OPEN 文法エラー

(SHARP)
コマンド デバイス名
省略
拡張子
省略
CLOAD, CSAVE 前回と同じです。 無いものとして扱います。

(CASIO)
コマンド デバイス名
省略
拡張子
省略
COPY #, LOAD #, MERGE #, SAVE # 前回と同じです。 無いものとして扱います。



5-7. シリアルポート

以下の仕様は,近日中に変更する可能性があります。

デバイス名 説明
COM SET MODE 25 にて指定した COM1 〜 COM20 を使用します。
COM0
COM1 〜 COM20 COM1 〜 COM20 を使用します。

・COM は、(SHARP 系) のターゲットで使用するデバイス名です。
・COM0 は、(CASIO 系) のターゲットで使用するデバイス名です。
・COM と COM0 は、同じデバイスです。(COM を指定した場合、COM0 となります)
・COM1 から COM20 は、それぞれ Windows の COM (シリアル) ポート (COM1 〜 COM20) に相当します。
・COM または COM0 を指定した場合、SET MODE 25 にて指定した COM1 〜 COM20 を使用します。

]SET MODE 25, 2 ' SET MODE 25 の内容を 2 (COM2) にします。
]GET MODE 25, A ' SET MODE 25 の内容を変数 A に格納します。
]A
 2
]OPEN           ' OPEN "COM2:" と同じです。
]



5-8. プリンタ

・プリンタに対する出力は、サポートしていません。
・プリンタに対するコマンド等は、すべて無視します。

>LPRINT "test" ' 何もしません。

>SORGN         ' 何もしません。



5-9. テープレコーダ

以下の仕様は,近日中に変更する可能性があります。

・TenBASIC は,テープレコーダに対する入出力をサポートしていません。
・テープの代わりに以下のファイルを使用します。

"FILE??.CAS" ... ?? は,01 〜 99 の連番です。

注意 : ターゲットが FX-860P,FX-870P,FX-890P の場合,CSAVE,CLOAD は使用できません。

・CSAVE コマンドのファイル名を指定しない例

>CSAVE ' ファイル "FILE01.CAS" を作成します。

・CLOAD コマンドのファイル名を指定しない例

>CLOAD ' ファイル "FILE01.CAS" を読み込みます。


最終更新日:2019年1月23日
Copyright (C) 2019 T.Matsu