F-BASIC V3.0 Simple Grammar
Update(2001/02/24)

F−BASIC V3.0の簡易文法書です。プログラムを作成する際の参考として下さい。

コマンド
AUTO [機能] 行の先頭に行番号えお自動的に発生します。
[形式]AUTO [行番号] [,[増分値]]
[例]AUTO 100,10
DELETE[機能] プログラムの行を削除します。
[形式]DELETE [行番号1] [{,-}] [行番号2]
[例]DELETE 10,100
DELETE 30-510
LIST[機能] メモリ内にあるプログラムの全部または一部を画面に出力します。
[形式]LIST [行番号1] [{,-} [行番号2]
[例]LIST 10,100
LIST 45-900
LIST[機能] メモリ内にあるプログラムを指定したファイルに出力します。
[形式]LIST"ファイルディスクリプタ"[,[行番号1][{,-} [行番号2]]
[例]LIST"LPT0:"
LLIST[機能] メモリ内にあるプログラムの全部または一部をプリンタに出力します。
[形式]LLIST [行番号1] [{,-} [行番号2]]
[例]LLIST 10,130
LLIST 20-500
UNLIST[機能] 非表示番号を指定します。
[形式]UNLIST 行番号
[例]UNLIST 10
RENUM[機能] プログラムの各行の行番号を付値します。
[形式]RENUM [[新行番号] [,[旧行番号] [,増分値]]]
[例]RENUM 10,1,10
NEW[機能] メモリにあるプログラムを消去し、全ての変数を初期化します。
[形式]NEW
[例]NEW
CLEAR[機能] 全ての変数を初期化し、オペランドの指定により文字領域とBASICの使用する上限を設定します。
[形式] CLEAR [文字領域の大きさ] [,BASICの使用する上限のメモリアドレス]
[例]CLEAR 500,&H5FFF
CONT[機能] BREAKキー入力後または、STOP,END文実行後、プログラムの実行を再開します。
[形式]CONT
[例]CONT
RUN[機能] メモリにあるプログラムの実行を始めます。
[形式]RUN [行番号]
[例]RUN 200
RUN[機能] ディスクまたはカセット上のファイルからプログラムをロードし実行します。
[形式]RUN"ファイルディスクリプタ" [,R]
[例]RUN"CAS0:DEMO1"
LOAD[機能] プログラムをメモリにロードします。
[形式]LOAD"ファイルディスクリプタ" [,R]
[例]LOAD"CAS0:DEMO2"
LOAD?[機能] カセットテープ上のチェックサムの照合を行います。
[形式]LOAD? ["[CAS0:]ファイル名"]
[例]LOAD? "PROG4"
SAVE[機能] メモリ内にあるプログラムをファイルに格納します。
[形式]SAVE "ファイルディスクリプタ" [,{A|P}]
[例]SAVE"CAS0:PROG5",P
FILES[機能] 指定されたデバイスのディレクトリリストを出力します。
[形式]FILES ["デバイス名"] [,L]
[例]FILES"1:"
NAME[機能] フロッピィディスク上のファイル名を変更します。
[形式] NAME"旧ファイルディスクリプタ" AS "新ファイルディスクリプタ"
[例]NAME"1:PROG1" AS "1:PROG2"
KILL[機能] フロッピィディスク上のファイルを削除します。
[形式]KILL"ファイルディスクリプタ"
[例]KILL"0:URIAGE"
MERGE[機能] メモリにあるプログラムと、指定したファイルのプログラムを混ぜ合わせます。
[形式]MERGE "ファイルディスクリプタ"[,R]
[例]MERGE"CAS0:PROG6"
SKIPF[機能] 指定したファイルの次にカセットテープを進めます。
[形式]SKIPF ["[CAS0:]ファイル名"]
[例]SKIPF"SHUKEI"
DSKINI[機能] フロッピィディスクのディレクトリの初期化を行います。
[形式]DISKINI ユニット番号
[例]DSKINI 1
EXEC[機能] 機械語プログラムを実行します。
[形式]EXEC [開始番地]
[例]EXEC &H5000
LOADM[機能] 機械語プログラムファイルをメモリにロードし実行します。
[形式]LOADM "ファイルディスクリプタ"[,[オフセット値] [,R]]
[例]LOADM"CAS0:OBJ",&H2000,R
SAVEM[機能] メモリの内容をファイルにセーブします。
[形式]SAVEM "ファイルディスクリプタ",開始番地,終了番地,入口番地
[例]SAVE"CAS0:OBJ1",&H5000,&H6124,&H5020
HARDC[機能] 画面データをプリンタにハードコピーします。
[形式]HARDC [{0|1|2}]
[例]HARDC 2
MON[機能] BASICのコマンドレベルからモニタコマンドレベルに移ります。
[形式]MON
[例]MON
TERM[機能] 動作モードをターミナルモードにします。
[形式]TERM ["cbpsma"]
[例]TERM"F8N2FA"
EDIT[機能] 指定された行を画面に表示します。
[形式]EDIT 行番号
[例]EDIT 120
一般ステートメント
DEF FN[機能] 使用者の関数を定義し、それに名前をつけます。
[形式]DEF FN 名前[(パラメータリスト)]=式
[例]DEF FNA(X,Y)=X^2-Y^2
DEF USR[機能] 機械語プログラムの開始番地を指定します。
[形式]DEF USR[数字]=整数
[例]DEF USR0=&H6800
DEF INT
DEF SNG
DEF DBL
DEF STR
[機能] 変数の型を整数,単精度,倍精度または文字に宣言します。
[形式]DEF型指定 文字の範囲
[例]DEFINT A-D,G-X
REM[機能] プログラム中の注釈です。
[形式]REM 注釈文字列
[例]REM F-BASIC
END[機能] プログラムの実行を終了し、全てのファイルをクローズしてコマンドレベルに戻ります。
[形式]END
[例]END
FOR〜NEXT[機能] 一連の命令を繰り返し実行します。
[形式]FOR 変数=式1 TO 式2 [STEP 式3]
[例]FOR I=0 TO 100 STEP 4
NEXT[機能] FOR〜NEXTループの終わりしていします。
[形式]NEXT [変数名 [,変数名]・・・]
[例]NEXT I,J
GOTO[機能] 無条件に指定された行番号に分岐します。
[形式]GOTO 行番号
[例]GOTO 1650
ON〜GOTO[機能] 式の値より指定された行番号の1つに分岐します。
[形式]ON 式 GOTO 行番号 [,行番号]・・・
[例]ON I GOTO 10,30,50
GOSUB[機能] サブルーチンを呼び出します。
[形式]GOSUB 行番号
[例]GOSUB 1000
RETURN[機能] サブルーチンを終了し、呼び出したプログラムへ復帰します。
[形式]RETURN [行番号]
[例]RETURN 300
ON GOSUB[機能] 式の値により指定された行番号を持つサブルーチンを呼び出します。
[形式]ON 式 GOSUB 行番号 [,行番号]・・・
[例]ON I+1 GOSUB 1000,200,300,100
STOP[機能] プログラムの実行を停止して、コマンドレベルに戻ります。
[形式]STOP
[例]STOP
IF〜THEN〜ELSE[機能] 式の結果によって実行すべき文を選択します。
[形式] IF 式 THEN {文ん|行番号} [ELSE {文|行番号}]
IF 式 GOTO 行番号 [ELSE {文|行番号}]
[例]IF A=100 THEN 200 ELSE A=A+1
WHILE〜WEND[機能] 一連の命令を条件付で繰返し実行します。
[形式]WHILE 式
[例]WHILE A<>B
WEND[機能] WHILE〜WENDループの終わりを指定します。
[形式]WEND
[例]WEND
LET[機能] 右辺の式の結果を左辺の変数に代入します。
[形式][LET] 変数式=式
[例]LET A=B+C*10
SWAP[機能] 二つの変数の値を交換します。
[形式]SWAP 変数,変数
[例]SWAP A,B
DIM[機能] 配列変数の次元数と添字の最大値を指定します。
[形式]DIM 変数名(添字の最大値 [,添字の最大値]・・・)
[例]DIM K(10,2,30)
POKE[機能] メモリの指定番地にデータを書き込みます。
[形式]POKE 書き込み番地,データ
[例]POKE &H6802,&H0D
DATA[機能] READ文によって読み込まれる数値及び文字定数を格納します。
[形式]DATA 定数[,定数]
[例]DATA ABC,123
READ[機能] DATA文により定義された定数を変数に読み込みます。
[形式]READ 変数名 [,変数名]・・・
[例]READ A$,B
RESTORE[機能] DATA文を最初から読む様に指定します。
[形式]RESTORE [行番号]
[例]RESTORE 200
LSET,RSET[機能] 文字データをランダムファイルバッファに移します。
[形式]LSET 文字変数=式
RSET 文字変数=式
[例]LSET DI$=A$
RANDOMIZE[機能] 乱数の系列を変更します。
[形式]RANDOMIZE [式]
[例]RANDOMIZE 1000
ERROR[機能] BASICのエラー発生をシュミレートしたり、ユーザのエラー番号の定義を可能にします。
[形式]ERROR エラー番号
[例]ERROR 3
ON ERROR GOTO[機能] エラートラップ機能を可能にします。
[形式]ON ERROR GOTO 行番号
[例]ON ERROR GOTO 2000
RESUME[機能] エラー処理終了後、プログラムの実行を再開します。
[形式]RESUME {NEXXT|行番号}
[例]RESUME 20
BEEP[機能] 内蔵スピーカによりブザーを鳴らします。
[形式]BEEP [スイッチ]
[例]BEEP 1
MOTOR[機能] カセットテープレコーダのモータを制御します。
[形式]MOTOR [スイッチ]
[例]MOTOR ON
TRON[機能] プログラムの実行状態を追跡します。
[形式]TRON
[例]10 TRON
TROFF[機能] プログラムの実行状態の追跡を止めます。
[形式]TROFF
[例]TROFF
CHAIN[機能] 指定されたフィルを呼び出し、変数を引き渡して実行します。
[形式]CHAIN [MERGE] "ファイルディスクリプタ"[,[行番号] [,ALL] [,DELETE 範囲]
[例]CHAIN MERGE"1:PROG1",,ALL,DELETE-100
COMMON[機能] CHAINによって連結されるプログラムに変数を引き渡します。
[形式]COMMON 変数名 [,変数名]・・・
[例]COMMON A$,B,C()
ERASE[機能] 配列変数をプログラムから消去します。
[形式]ERASE 配列変数名 [,配列変数名]・・・
[例]ERASE A,B
入出力ステートメント
INPUT[機能] キーボードから入力されるデータを読み取ります。
[形式]INPUT ["プロンプットメッセージ"{;,}]変数名 [,変数名]・・・
[例]INPUT"キンガク",A
LINE INPUT[機能] 1行全体の文字列(255文字以内)を区切る事なく、文字変数に読み込みます。
[形式]LINE INPUT ["プロンプットメッセージ"{;,}]文字変数
[例]LINE INPUT "DATA";A$
PRINT[機能] 画面に式の評価結果を出力します。
[形式]PRINT [式[{;,} [式]]・・・
[例]PRINT B;C$,A
LPRINT[機能] プリンタに式の評価結果を出力します。
[形式]LPRINT [式 [{;,}[式]]・・・]
[例]LPRINT A+B;C
PRINT@[機能] 漢字を画面に表示します。
[形式]PRINT@ [(x,y),] 漢字コード [{;,}[漢字コード]]・・・
[例]PRINT@ (100,130),&H3441,&H3B7A
PRINT USING[機能] 文字または数値を指定した書式で画面に出力します。
[形式]PRINT USING フォーマット文字列;出力並び
[例]PRINT USING "### ##";A;B
LPRINT USING[機能] 文字または数値を指定された書式でプリンタに出力します。
[形式]LPRINT USING フォーマット文字列;出力並び
[例]LPRINT USING "###年";Y
OPEN[機能] ファイルのオープン処理を行います。
[形式]OPEN "モード",[#]ファイル番号,"ファイルディスクリプタ"
[例]OPEN "O",#1,"LPT0:(WF)"
CLOSE[機能] ファイルのクローズ処理を行います。
[形式]CLOSE [[[#]ファイル番号][,[#]ファイル番号]・・・
[例]CLOSE #1,#3
INPUT#[機能] ファイルからデータを読込み、変数に代入します。
[形式]INPUT#ファイル番号,変数名 [,変数名]・・・
[例]INPUT#1,A,B,C
PRINT#[機能] 式の評価結果を指定されたファイルに出力します。
[形式]PRINT#ファイル番号,変数名 [,変数名]・・・
[例]PRINT#1,A$,B$,C$
PRINT#[機能] 式の評価結果を指定されたファイルに出力します。
[形式]PRINT#ファイル番号, USINGフォーマット文字列;出力並び
[例]PRINT#1,USING"###";A
LINE INPUT#[機能] 指定されたファイルから1行を区切ることなく読込み、変数に代入する。
[形式]LINE INPUT#ファイル番号,文字変数
[例]LINE INPUT#4,DA$
FIELD[機能] ランダムファイルのバッファに変数の領域を割当てます。
[形式]FIELD [#]ファイル番号,フォールド幅 AS 文字変数名[,フィールド幅 AS 文字変数]・・・
[例]FIELD #1,20 AS A$,30 AS B$,40 AS C$
GET[機能] ランダムファイルから指定されたレコードをバッファに読込みます。
[形式]GET [#]ファイル番号 [,レコード番号]
[例]GET#2,3
PUT[機能] バッファの内容を指定されたランダムファイルに書込ます。
[形式]PUT [#]ファイル番号 [,レコード番号]
[例]PUT#5,10
DSKO$[機能] システムランダムバッファの内容を指定されたセクタに書込ます。
[形式]DSKO$ ドライブ番号,トラック番号,セクタ番号
[例]DSKO$ 1,7,8
画面制御・グラフィック機能
WIDTH[機能] 画面に表示する文字の行数と桁数を指定します。
[形式]WIDTH [1行の文字数][,1画面の行数]
[例]WIDTH 80,25
CONSOLE[機能] スクロールウインドウの大きさを指定します。
[形式]CONSOLE [スクロール開始行][,[スクロール行数][,[ファンクションキー表示スイッチ][,コンソールカラースイッチ]]]
[例]CONSOLE 0,25,0,1
SCREEN[機能] アクティブ画面とディスプレ画面の設定をします。
[形式]SCREEN [アクティブVRAMコード] [,ディスプレイVRAMコード]
[例]SCREEN 7,5
COLOR[機能] 画面の表示色及び背景色を指定します。
[形式]COLOR [フォアグランドカラー] [,バックグランドカラー]
[例]COLOR 3,6
COLOR[機能] カラーパレットの定義を行います。
[形式]COLOR=(パレットコード,カラーコード)
[例]COLOR=(1,2)
CLS[機能] 指定画面をクリアし、カーソルをその画面のホームポジションに移します。
[形式]CLS [消去範囲コード]
[例]CLS 2
LOCATE[機能] CRT画面上の任意の位置にカーソルを移動します。
[形式]LOCATE 水平位置, 垂直位置 [,カーソル表示スイッチ]
[例]LOCATE 40,21,1
PSET[機能] 画面上の任意の位置にドット設定します。
[形式]PSET(水平位置,垂直位置 [,[パレットコード,][,機能コード]])
[例]PSET(50,100,4,XOR)
PRESET[機能] 画面上の任意の位置のドットを背景色にします。
[形式]PRESET(水平位置,垂直位置)
[例]PRESET(290,56)
LINE[機能] 画面上にキャラクタを使って、線及び箱を表示します。
[形式]LINE[@] [(x1,y1)]-(x2,y2),文字列 [,[パレットコード][,{B|BF}]
[例]LINE@ (6,12)-(13,16),"D",4,B
LINE[機能] 画面にドットで線や箱を書きます。
[形式]LINE[@] [(x1,y1)]-(x2,y2),機能 [,[パレットコード][,{B|BF}]
[例]LINE@ (10,20)-(120,90),PSET,4,BF
CONNECT[機能] 指定座標間を直線で結びます。
[形式]CONNECT (x1,y1)-(x2,y2)[-(x3,y3)]・・・[,[パレットコード][,機能]]
[例]CONNECT (200,100)-(200,180)
SYMBOL[機能] 画面上の任意の位置に文字列を指定角度、指定サイズで表示します。
[形式]SYMBOL(x,y),文字列, 横倍率, 縦倍率 [,[パレット番号][,[角度コード] [,機能]]]
[例]SYMBOL (50,80),"A",3,4,6,,PSET
GET@[機能] 画面上のキャラクタを配列に読込みます。
[形式]GET@ (x1,y1)-(x2,y2),配列名
[例]GET@ (10,10)-(20,10),A%
GET@[機能] 画面上のキャラクタとその属性を配列に読込みます。
[形式]GET@A (x1,y1)-(x2,y2),配列名
[例]GET@A (10,13)-(12,15),A%
GET@[機能] 画面上の指定色のドットパターンを配列に読込みます。
[形式]GET@ (x1,y1)-(x2,y2),配列名,G[,パレットコード[,パレットコード]・・・]
[例]GET@ (10,50)-(200,80),A%,G,2,3,5
GET@[機能] 画面上のグラフィックドットをそのカラー情報と共に配列に読込みます。
[形式]GET@A (x1,y1)-(x2,y2),配列名,G
[例]GET@A (200,100)-(300,150),A%,G
PUT@[機能] GET@文(書式1)で読込まれたキャラクタを画面の任意の位置に表示します。
[形式]PUT@ (x1,y1)-(x2,y2),配列名 [,パレットコード]
[例]PUT@ (10,15)-(12,16),A%,7
PUT@[機能] GET@A文(書式2)で読込まれたキャラクタを画面上の任意の位置に表示します。
[形式]PUT@A (x1,y1)-(x2,y2),配列名
[例]PUT@A (10,15)-(12,19),A%
PUT@[機能] GET@文(書式3)で読込まれたグラフィックドットを画面上の任意の位置に表示します。
[形式]PUT@ (x1,y1)-(x2,y2),配列名,機能 [,パレットコード]
[例]PUT@ (100,80)-(120,100),A%,PSET,4
PUT@[機能] GET@A文(書式4)で読込まれたグラフィックドットを画面上の任意の位置に表示します。
[形式]PUT@A (x1,y1)-(x2,y2),配列名,機能
[例]PUT@A (80,50)-(130,90),A%,XOR
CIRCLE[機能] 画面上の任意の座標を中心として、円または円弧を書きます。
[形式] CIRCLE (x,y),半径 [,[パレットコード] [,[比率][,[開始位置] [,[終了位置] [,[{F|N}][,機能]]]]]]
[例]CIRCLE (320,100),50,2,.4495,,,F,PSET
GCURSOR[機能] 画面上のグラフィックカーソルのドット座標を読み取ります。
[形式]GCURSOR (x,y),(変数名1,変数名2) [,(変数名3,変数名4)・・・][,パレットコード]
[例]GCURSOR (200,100),(X1,Y1),(X2,Y2),5
PAINT[機能] 指定された境界色で囲まれた範囲を塗りつぶします。
[形式]PAINT (水平位置,垂直位置) [,[パレットコード][,境界色1 [,境界色2]・・・]
[例]PAINT (100,50),1,2
音楽演奏機能
PLAY[機能] 音楽の演奏を行います。
[形式]PLAY "MML" [,"MML"[,MML"]]
[例]PLAY "O2L10"
SOUND[機能] PSGを直接コントロールします。
[形式]SOUND PSGのレジスタ番号,データ
[例]SOUND 1,250
プログラマブル・ファンクションキー機能
KEY[機能] プログラマブル・ファインクションキーに文字列を定義します。
[形式]KEY ファインクションキー番号,文字列
[例]KEY1,"LOCATE"
KEYLIST[機能] プログラマブル・ファンクションキーに定義されている文字列を画面に表示します。
[形式]KEYLIST
[例]KEYLIST
KEY (n) ON
KEY (n) OFF
KEY (n) STOP
[機能] ファンクションキーからの割込みの許可,禁止,停止をします。
[形式]KEY (ファンクションキー番号) {ON|OFF|STOP}
[例]KEY (5) ON
ON KEY (n) GOSUB[機能] ファンクションキー割込みルーチンの定義をします。
[形式]ON KEY (ファンクションキー番号) GOSUB 行番号
[例]ON KEY (1) GOSUB 2200
タイマー割込み機能
ON TIME GOSUB[機能] タイマ割込みルーチンの定義をします。
[形式]ON TIME GOSUB 行番号
[例]ON TIME GOSUB 3000
TIME[機能] タイマ割込み時刻を設定します。
[形式]TIME "hh:mm:ss"
[例]TIME "20:15:31"
TIME ON/OFF/STOP[機能] タイマ割込みの許可,禁止,停止をします。
[形式]TIME {ON|OFF|STOP}
[例]TIME OFF
ON INTERVAL GOSUB[機能] インターバルタイマ割込みルーチンの定義をします。
[形式]ON INTERVAL GOSUB 行番号
[例]ON INTERVAL GOSUB 4250
INTERVAL[機能] インターバスタイマ割込みの間隔を指定します。
[形式]INTERVAL 割込み間隔
[例]INTERVAL 20
INTERVAL
ON/OFF/STOP
[機能] インターバルタイマ割込みの許可,禁止,停止します。
[形式]INTERVAL {ON||OFF|STOP}
[例]INTERVAL STOP
回線制御機能
ON COM(n) GOSUB[機能] 通信回線からの入力割込み時の処理ルーチンを定義します。
[形式]ON COM(ポート番号) GOSUB 行番号
[例]ON COM(2) GOSUB 2000
COM(n) ON/OFF/STOP[機能] 通信回線からの入力割込みの許可,禁止,停止をします。
[形式]COM(ポート番号) {ON|OFF|STOP}
[例]COM(0) ON
OPEN[機能] 通信回線の入出力を可能にするため、ファイルをオープンします。
[形式] OPEN"モード",[#]ファイル番号,"COMn:[(オプション)]"
[例]OPEN "O",#1,"COM4:(F8N2)"
CLOSE[機能] 通信回線に割当てられたファイルをクローズします。
[形式] CLOSE [[#]ファイル番号[,[#]ファイル番号]・・・]
[例]CLOSE #1, 2, 3
INPUT #[機能] 通信回線からデータを入力します。
[形式]INPUT # ファイル番号,変数名,[,変数名]・・・
[例]INPUT #2, A, B, C
LINE INPUT#[機能] 通信回線から1行のデータを入力します。
[形式]LINE INPUT#ファイル番号,文字変数名
[例]LINE INPUT#5, A$
PRINT #[機能] 通信回線にデータを出力します。
[形式]PRINT #ファイル番号[,式[ { ; | , } 式 ]・・・]
[例]PRINT #2, A, B, A$
LIST[機能] 通信回線にプログラムリストを出力します。
[形式]LIST "COMn : [(オプション)]" [ , [行番号] [ { - | , } [行番号]]]
[例]LIST"COM1:",100-500
数値関数
ABS[機能] 絶対値を与えます。
[形式]ABS(式)
[例]A=ABS(3-9)
ATN[機能] 三角関数アークタンジェントの値を与えます。
[形式]ATN(式)
[例]A=ATN(3.141593/180*R)
COS[機能] 三角関数コサインの値を与えます。
[形式]COS(式)
[例]B=COS(3.14)
EXP[機能] eを底とした指数関係の値を与えます。
[形式]EXP(式)
[例]A=EXP(10)
FIX[機能] 引数の値の整数部分を与えます。
[形式]FIX(式)
[例]A=FIX(12.34)
INT[機能] 引数の値を超えない最大の整数を与えます。
[形式]INT(式)
[例]C=INT(A+B)
LOG[機能] 自然対数の値を与えます。
[形式]LOG(式)
[例]B=LOG(A)
RND[機能] 0と1の間の乱数を与えます。
[形式]RND[(式)]
[例]RND(2)
SGN[機能] 引数が正の場合は1を、0の場合は0を、負の場合はー1を与えます。
[形式]SGN(式)
[例]C=SGN(I)
SIN[機能] 三角関数サインの値を与えます。
[形式]SIN(式)
[例]A=SIN(3.14159/180*B)
SQR[機能] 平方根を与えます。
[形式]SQR(式)
[例]B=SQR(I)
TAN[機能] 三角関数タンジェントの値を与えます。
[形式]TAN(式)
[例]C=TAN(2*I)
CSNG[機能] 整数値,倍精度実数値を単精度実数に変換します。
[形式]CSNG(式)
[例]B=CSNG(A#)
CDBL[機能] 整数値,単精度実数値を倍精度実数値に変換します。
[形式]CDBL(式)
[例]A#=CDBL(C%)
CINT[機能] 単精度実数値,倍精度実数値を整数値に変換します。
[形式]CINT(式)
[例]C=CINT(A#)
ストリング関数
CHR$[機能] 引数の値に対応する文字を与えます。
[形式]CHR$(式)
[例]CHR$(77)
HEX$[機能] 整数を16進数の文字列に変換します。
[形式]HEX$(式)
[例]A$=HEX$(136)
LEFT$[機能] 文字列の左から指定された数の文字列を取り出します。
[形式]LEFT$(文字式, 文字数)
[例]A$=LEFT$(B$, 2)
MID$[機能] 指定された文字位置から任意の文字数を取り出します。
[形式]MID$(文字式, 文字位置[,文字数])
[例]C$=MID$(A$, 9, 5)
MID$[機能] 代入分の左辺に書かれ、文字変数内の指定された場所を、文字式のデータで指定された文字数分
置換えます。
[形式]MID$(文字変数名, 文字位置[,文字数])=文
[例]MID$(A$, 3, 4)="ABC"
OCT$[機能] 整数を8進数の文字列に変換します。
[形式]OCT$(式)
[例]A$=OCT$(900)
RIGHT$[機能] 文字列の右から指定された数の文字列を取り出します。
[形式]RIGHT$(文字式, 文字数)
[例]B$=RIGHT$(C$,2)
SPACE$[機能] 指定された数の空白よりなる文字列を与えます。
[形式]SPACE$(個数)
[例]B$=SPACE$(20)+"F-BASIC"
STR$[機能] 数値を表す文字列を与えます。
[形式]STR$(式)
[例]A$="3*5="+STR$(15)
STRING$[機能] 指定された文字だけで作られた文字列与えます。
[形式]STRING$(文字数,{キャラクタコード|文字式})
[例]A$=STRING$(10,"A")
ASC[機能] 指定した文字列の最初の文字のキャラクタコードを与えます。
[形式]ASC(文字式)
[例]A=ASC("A")
INSTR[機能] 指定された文字列を検索し、見つかった位置を与えます。
[形式]INSTR([検索開始位置,] 文字式1, 文字式2)
[例]A=INSTR(5, B$, "F-BASIC")
LEN[機能] 文字列の長さを与えます。
[形式]LEN(文字式)
[例]B=LEN(A$)
VAL[機能] 文字列の表す数値を与えます。
[形式]VAL(文字式)
[例]A=VAL("&H"+DA$)
一般関数
CSRLIN[機能] 画面上のカーソルの垂直位置を与えます。
[形式]CSRLIN
[例]A=CSRLIN
POS[機能] カーソル, プリンタヘッドの水平位置を与えます。
[形式]POS(ファイル番号)
[例]A=POS(0)
LPOS[機能] プリンタヘッダの水平位置を与えます。
[形式]LPOS(式)
[例]B=LPOS(A)
POINT[機能] 指定した位置にドットがセットされているかいないかを与えます。
[形式]POINT(水平位置, 垂直位置)
[例]A=POINT(380, 131)
ERR/ERL[機能] 発生したエラーのエラーコードおよび行番号を与えます。
[形式]ERR/ERL
[例]IF ERR=4 THEN 200
VARPTR[機能] 変数名で指定されるデータの格納されている先頭番地を与えます。
[形式]VARPTR(変数名)
[例]ADD=VARPTR(A$)
USR[機能] 引数を持ってユーザのアセンブリ言語ルーチンを呼び出します。
[形式]USR [数字](引数)
[例]A=USR1(B)
PEEK[機能] メモリの内容を読み出します。
[形式]PEEK(式)
[例]A=PEEK(&H5000)
FRE[機能] メモリの未使用バイト数を与えます。
[形式]FRE(整数 | 文字列)
[例]PRINT FRE(0)
TIME$[機能] 内蔵のタイマの示す時刻を与えます。
[形式]TIME$
[例]TIME$="20:19:37"
TIME[機能] 00:00:00を基準とする秒単位の時刻を示すシステム変数です。
[形式]TIME
[例]PRINT TIME
DATE$[機能] 内蔵のタイマの示す日付を表します。
[形式]DATE$
[例]DATE$="82:09:21"
DATE[機能] 1月1日を基準とするトータル日数を示すシステム変数です。
[形式]DATE
[例]PRINT DATE
SPC[機能] 指定された数の空白をプリントします。
[形式]SPC(個数)
[例]PRINT A$ ; SPC(15) ; B$
TAB[機能] 指定された桁位置まで空白をプリントします。
[形式]TAB(桁位置)
[例]PRINT A$ ; TAB(20) B$
SCREEN[機能] 指定座標のキャラクタコード, および属性を与えます。
[形式]SCREEN(水平位置, 垂直位置[,セレクトスイッチ])
[例]A%=SCREEN(1, 0)
入出力関数
CVI/CVS/CVD[機能] 文字で表現された値を実際の数値データに変換します。
[形式]CVI (2バイトの文字列)
[形式]CVS (4バイトの文字列)
[形式]CVD (8バイトの文字列)
[例]I%=CVI(DI$)
MKI$/MKS$/MKD$[機能] 数値を文字に変換します。
[形式]MKI$ (整数表記)
[形式]MKS$ (単精度表記)
[形式]MKD$ (倍精度表記)
[例]DI$=MKI$(I%)
EOF[機能] ファイルの終わりを検出します。
[形式]EOF (ファイル番号)
[例]A=EOF(1)
LOF[機能] 入力バッファ中の文字数を与えます。
[形式]LOF (ファイル番号)
[例]A=LOF(2)
LOC[機能] ランダムファイルに対して、次にGETまたはPUTされるレコード番号を与えます。
[形式]LOC (ファイル番号)
[例]B=LOC(10)
DSKI$[機能] 指定されたセクタの内容をシステムランダムバッファに読み込みます。
[形式]DISK$ (ドライブ番号, トラック番号, セクタ番号)
[例]DSKI$(1, 7, 8)
DSKF[機能] ディスクの未使用領域のクラスタ数を示します。
[形式]DSKF(ドライブ番号)
[例]PRINT DSKF(0)
INPUT$[機能] キーボードあるいはファイルから指定された文字数の文字列を入力します。
[形式]INPUT$ (文字数[,[#]ファイル番号])
[例]A$=INPUT$(10)
INKEY$ [機能] キーボードが押されていれば、その文字を与えます。押されていなければ空文字を与えます。
[形式]INKEY$
[例]B$=INKEY$

RETURN TO [FM-7 World Menu]