えまのんBASIC

言語仕様

変数

演算子

+加算
-減算
*乗算
/商(除算の小数切捨て)
%余り
^累乗
&and
|or
;文字列の連結

関係演算子

=等しい(文字列の比較は大文字小文字を区別する)
<>等しくない(文字列の比較は大文字小文字を区別する)
>大なり
>=以上
<小なり
<=以下
&and
|or
!not

ステートメント

「{...}」は省略可能。文字列は「""」でくくった文字列または変数をあらわす。
ステートメント書式説明
REM REM コメント 行末まで読み飛ばす。
PRINT PRINT 文字列 { , 文字列 {...}} コンソールまたはダイアログにメッセージを表示する。
INPUT INPUT { メッセージ , } 変数 変数 に代入する内容をダイアログから入力する。
IF THEN ELSE IF 条件 THEN ステートメント1 { ELSE ステートメント2 } 条件 が成立するときにステートメント1 を実行する。 成立しないときはステートメント2 を実行する。
FOR TO STEP FOR 変数=初期値 TO 終了値 { STEP 増分 } 変数 の値を初期値 から終了値 まで増分 ずつ変化させてNEXTまでの行を繰り返す。 STEP〜を省略したときは増分 =1として扱う。
NEXT NEXT 繰返し範囲の終了を示す。
GOTO GOTO 行番号 処理を行番号 へ移す。
GOSUB GOSUB 行番号 処理を行番号 へ移す。RETURNステートメントで現在位置に戻る。
RETURN RETURN 処理をGOSUBステートメントの次へ戻す。
RANDOMIZE RANDOMIZE RAND関数で使用する乱数の種を設定する。
LOADFILE LOADFILE 変数{()} , ファイル名 変数ファイル名 のファイルを読み込む。 変数 に「()」を付けるとファイルの各行を配列変数に読み込む。
SAVEFILE SAVEFILE 変数{()} , ファイル名 変数 の内容をファイル名 のファイルに書き出す。 変数 に「()」を付けると配列変数の各要素を各行にしたテキストファイルを書き出す。
ARRYADD ARRYADD 配列変数() ,追加文字列 指定した配列の最後に追加文字列 を格納した配列要素を追加する。 追加文字列に改行が含まれる場合各行をそれぞれ別要素に格納する。
ARRYDEL ARRYDEL 配列変数() ,要素番号 指定した配列から指定した番号を添え字とする配列要素を削除する。
WAIT WAIT 待機秒数 指定した秒数の間プログラムの実行を止める。
CMD CMD "キーアクション名" えまのんのキーアクションを実行する。
EXEC EXEC {終了待ち秒数, } "起動アプリケーションファイル名{ パラメータ}" 外部アプリケーションを起動する。 終了待ち秒数を指定したときは指定秒がたつか、 起動アプリケーションが終了するまで処理をとめる
END END プログラムの実行を終了する。

関数

関数書式説明
INSTRINSTR(文字列1 , 文字列2 ) 文字列1 の中から文字列2 をさがし、その先頭のバイト位置を返す。 大文字小文字は区別される。
MID MID(文字列 , 開始位置 { , 長さ }) 文字列開始位置 バイト目から長さ バイトを返す。 長さ が省略された場合は文字列 の最後までになる。
MOD MOD(数値1 ,数値2 ) 数値1数値2 で割った余りを返す。
LEN LEN(文字列 ) 文字列 の長さをバイト数で返す。
CHR CHR(ASCIIコード ) 引数の数値をASCIIコードとする文字を返す。
ASC ASC(文字列 ) 文字列 の先頭1バイトのASCIIコードを返す。
DATE DATE 現在の日付をyyyy/mm/dd形式で返す。
TIME TIME 現在の時刻をhh:mm:ss.msec形式で返す。
RAND RAND(最大値 ) 0から最大値 -1までの範囲の乱数を返す。
INDEXOF INDEXOF(文字列1 ,文字列2 ) 改行で区切られた文字列2 のなかから文字列1 と同じ行の番号を返す。
COUNTOF COUNTOF(文字列1 ,文字列2 ) 改行で区切られた文字列2 のなかから文字列1 と同じ行がいくつあるかを返す。
YESNOBOX YESNOBOX(文字列 ) 指定した文字列 をキャプションとして「はい」「いいえ」のボタンのあるダイアログを表示する。 返ってくる値は"YES"または"NO"。
SELBOX SELBOX({ メッセージ , } 文字列 ) 指定したメッセージ をキャプションとして文字列 の各行を選択肢とするダイアログを表示する。 返ってくる値は選択肢の行番号。メッセージ を省略した場合は「選択してください」と表示される。
FUNC FUNC(スクリプトファイル名 {,変数フラグ } ) スクリプトファイル を読み込んで実行する。_RESULT変数に代入された値が返る。
スクリプトファイル
 スクリプトパス以下のファイル名を指定する。
変数フラグ
 0: 変数の値を引き継がない
 1: 呼び出し元から読み込みスクリプトに全変数の値を引き継ぐ
 2: 1に加え読み込みスクリプトの実行後の変数を呼び出し元に引き継ぐ
未指定時は0と同じ扱いとなる。
MATCHMATCH(文字列1 , 文字列2 ) 文字列1 に正規表現文字列2 とマッチする文字列があるとき、その先頭の文字数を返す。 大文字小文字は区別されない。
REPLREPL(文字列1 , 文字列2 , 文字列3 ) 文字列1 に正規表現文字列2 とマッチする文字列があるとき文字列3で置換した文字列を返す。 大文字小文字は区別されない。

システム変数

板オブジェクト型連想配列変数

変数名説明
_CURRENTITA[キー ]スレ一覧で開いている板またはフォルダー
_SELECTEDITA[キー ]板一覧で選択している板
使用可能なキー説明
"name"×板の名前
"url"×板のURL
"$"を含んだ文字列×板に対する変換文字列

スレオブジェクト型連想配列変数

変数名説明
_CURRENTSURE[キー ]レス一覧で開いているスレ
_SELECTEDSURE[キー ]スレ一覧で選択しているスレ
使用可能なキー説明
"title"×スレのタイトル
"url"×スレのURL
"$"を含んだ文字列×スレに対する変換文字列

レスオブジェクト型連想配列変数

変数名説明
_CURRENTRESU[キー ]本文を表示しているレス
_SELECTEDRESU[キー ]レス一覧で選択しているレス
_TARGETRESU[キー ]イベントで対象になっているレス
使用可能なキー説明
"name"×レスの投稿者名
"mail"×レスのメール欄
"trip"×レスのトリップ
"id"×レスのID
"text"×レスのテキスト形式の本文
"score"レスのスコア
"comment"レスのコメント
"url"×レスのURL
"links"×レス中のリンク先URL(改行区切り、DAT内リンクのみ)
"$"を含んだ文字列×レスに対する変換文字列

レスパネルオブジェクト型連想配列変数

変数名説明
_CURRENTRESUPANEL[キー ]レス本文を表示部
使用可能なキー説明
"name"×表示しているレスの投稿者名
"mail"×表示しているレスのメール欄
"trip"×表示しているレスのトリップ
"id"×表示しているレスのID
"text"×表示しているレスのテキスト形式の本文
"score"×表示しているレスのスコア
"comment"×表示しているレスのコメント
"url"×表示しているレスのURL
"links"×表示しているレス中のリンク先URL(改行区切り、URL補完あり)
"$"を含んだ文字列×表示しているレスに対する変換文字列

スレリストオブジェクト型連想配列変数

変数名説明
_CURRENTSURELIST[キー1 { ,キー2 } ]現在表示しているスレ一覧
使用可能なキー説明
"count"×表示しているスレの数
"index"×選択されている行番号
数字--指定した行のスレのスレオブジェクト型連想配列変数にキー2 を指定するのと同じ

レスリストオブジェクト型連想配列変数

変数名説明
_CURRENTRESULIST[キー1 { ,キー2 } ]現在表示しているレス一覧
使用可能なキー説明
"count"×表示しているレスの数
"index"×選択されている行番号
数字--指定した行のレスのレスオブジェクト型連想配列変数にキー2 を指定するのと同じ

その他のシステム連想配列変数

変数名説明
_GLOBALえまのんの起動中に値を保持し続ける連想配列変数

その他のシステム変数

変数名説明
_CLIPBOARDクリップボードの内容(テキストのみ)
_EMANONPATH×えまのんがインストールされているパスを返す
_LOGPATH×えまのんのログフォルダのパスを返す
_SCRIPTPATH×えまのんのスクリプトフォルダのパスを返す