ユーザ用ツール


reference:サブプログラム

サブプログラム

XSUBSCREEN 表示オフセットX,表示オフセットY,幅,高さ

サブプログラム画面の表示サイズを指定する

・サブプログラム内でのみ意味を持つ命令。メインプログラムやダイレクトモードから使用しても何も起きない。
・サブプログラムはこの命令を実行するまで画面表示ができない。
・XSUBSCREENはサブ画面の外形を設定する命令で、その中のBASIC画面解像度は別途XSCREENで設定する必要がある。

引数

表示オフセットX, 表示オフセットY

サブ画面のメイン画面上での表示オフセット:-32768~32767

幅, 高さ

サブ画面の表示サイズ 幅:1~1280, 高さ:1~720

XSUBSCREEN 0

サブプログラム画面の表示をやめる

・サブプログラム内でのみ意味を持つ命令。メインプログラムやダイレクトモードから使用しても何も起きない。
・この命令を実行するとサブプログラムが画面から消える。

引数

0

表示を消す場合、引数は0を指定する

XSUBSCREEN OUT 表示オフセットX,表示オフセットY,幅,高さ

サブプログラム画面の表示オフセットを取得する

・サブプログラム内でのみ意味を持つ命令。メインプログラムやダイレクトモードから使用すると 0,0 が返る。

返値

表示オフセットX, 表示オフセットY

サブ画面のメイン画面上での表示オフセット

幅,高さ

サブ画面の表示サイズ

ENVSTAT 状態

メインインタプリタの状況を設定する

・サブプログラム内でのみ意味を持つ命令。メインプログラムやダイレクトモードから使用しても何も起きない。

引数

状態

設定するメインインタプリタの状態
・0のみ指定可能。
・現在の状態が3,4の場合は設定されない。

ENVSTAT()

メインインタプリタの状況を取得する

返値

0 ダイレクトモードで待機中
1 実行中断中
2 エラーで実行停止
3 プログラム実行中
4 プログラム編集中

ENVSTAT OUT ステータス,実行スロット,編集スロット

メインインタプリタの状況を取得する

返値

ステータス

0 ダイレクトモードで待機中
1 実行中断中
2 エラーで実行停止
3 プログラム実行中
4 プログラム編集中

実行スロット

現在の実行スロット

編集スロット

現在の編集スロット

ENVSTAT OUT ステータス,エラー番号,エラー発生引数番号,エラー発生スロット,エラー発生文字位置,エラー発生行

メインインタプリタの状況を取得する

返値

ステータス

0 ダイレクトモードで待機中
1 実行中断中
2 エラーで実行停止
3 プログラム実行中
4 プログラム編集中

エラー番号

エラーが発生していた場合、0以外の値が返る

エラー発生引数番号

エラー発生時に発生した引数が分っている場合、正の値が返る

エラー発生スロット

エラーが発生していた場合、発生したプログラムスロットが返る

エラー発生文字位置

エラーが発生していた場合、発生したソースコード上の先頭からの文字位置が返る

エラー発生行

エラーが発生していた場合、発生したソースコード上の行番号が返る

ENVLOAD 0,メインID,サブID

メインインタプリタ上のプログラムスロットの内容ををサブインタプリタ側のプログラムスロットにコピーする

・サブインタプリタでのみ有効な命令。

引数

0

プログラムスロットをコピーする場合0を指定する

メインID

コピー元のメインインタプリタのプログラムスロット

サブID

コピー先のサブインタプリタのプログラムスロット

ENVLOAD 1,メインID,サブID

メインインタプリタ上のグラフィックページデータをサブインタプリタ側にコピーする

・サブインタプリタでのみ有効な命令。

引数

1

グラフィックページをコピーする場合1を指定する

メインID

コピー元のメインインタプリタのグラフィックページ

サブID

コピー先のサブインタプリタのグラフィックページ

ENVLOAD 2,メインID,サブID

メインインタプリタ上のSPDEF定義をサブインタプリタ側にコピーする

・サブインタプリタでのみ有効な命令。

引数

2

SPDEF定義をコピーする場合2を指定する

メインID

コピー元のメインインタプリタのSPDEF定義番号

サブID

コピー先のサブインタプリタのSPDEF定義番号

ENVSAVE 1,サブID,メインID

サブインタプリタ上のグラフィックページデータをメインインタプリタ側にコピーする

引数

1

グラフィックページをコピーする場合1を指定する

サブID

コピー元のサブインタプリタのグラフィックページ

メインID

コピー先のメインインタプリタのグラフィックページ

ENVSAVE 2,サブID,メインID

サブインタプリタ上のSPDEF定義をメインインタプリタ側にコピーする

引数

2

SPDEF定義をコピーする場合2を指定する

サブID

コピー元のサブインタプリタのSPDEF定義番号

メインID

コピー先のメインインタプリタのSPDEF定義番号

ENVINPUT$([履歴番号])

メインインタプリタのコンソール入力行、もしくは入力履歴の内容を取得する

引数

履歴番号

取得する入力履歴の番号。大きいほど過去の履歴となる:(0~32)
・0を指定すると、履歴ではなく現在入力中のコンソール行を取得する。
・省略時は0。

返値

入力行、もしくは指定入力履歴の内容文字列

ENVTYPE()
ENVTYPE OUT タイプ,パラメーター

現在実行中のプログラムがどのインタプリタで動いているかを取得する

返値

タイプ

インタプリタのタイプ

0 メインインタプリタ
1 サブインタプリタ
2 UIインタプリタ

パラメーター

起動時に設定されたパラメーター
・ユーザーが作成できるプログラムでは常に-1が返る。

ENVFOCUS フラグ

フォーカスを取得・譲渡する

引数

1でフォーカスを取得、0でフォーカスを譲渡

ENVFOCUS()

フォーカスの所持状況を取得する

返値

フォーカスを持っているかどうか
・1で持っている、0で持っていない。

ENVPROJECT

サブインタプリタの作業用プロジェクトをメインインタプリタの作業用プロジェクトに同期させる

PUSHKEY 文字列

指定文字列をキーボード入力した事にする

引数

文字列

入力される文字列
・最大64文字。

HELPINFO OUT 命令名文字列,数値配列

カーソル位置にあるヘルプデータの情報

・内部実装用命令。使用禁止。

返値

命令名文字列

カーソル位置にある命令名の文字列
・命令名がない場合は"DEFAULTHELPKEY"が返る。

配列

行数を返す配列
・配列の要素数はページ数となる。

HELPINFO 命令名文字列 OUT 数値配列

命令名に対してのヘルプデータの情報

・内部実装用命令。使用禁止。

引数

命令名文字列

取得する命令名の文字列

返値

配列

行数を返す配列
・配列の要素数はページ数となる。

HELPGET 命令名文字列,ページ番号 OUT 行文字列配列,タグ配列,属性数値配列,コード例文字列

ヘルプデータの取得

・内部実装用命令。使用禁止。

引数

命令名文字列

取得する命令名の文字列

ページ番号

取得するページ番号

行番号

取得する行番号

返値

行文字列配列

各値は1行分の文字列
・配列サイズは行分となる。

タグ配列

各値のタグはインデント数・色情報
・内部情報にHEADが含まれる場合は見出しとなり、PAGEUP・DOWNで見出し間移動に使われる。
・配列サイズは行分となる。

説明
0 基本的な行
1 タイトルスクロールしても見える
2 引数見出し
3 返値見出し
4 その他の見出し
5 タイトル直下の説明
6 引数小見出し
7 返値小見出し
8 その他の小見出し

属性数値配列

行内の特定の文字列に対して属性情報
・配列は3次元配列となり、配列の大きさは行数、行単位の属性数、属性番号となる。
・参考: ARRAY#(行数,行単位の属性数,属性種類)
・属性番号が0(位置)の取得値がマイナスの場合、各属性情報は無効。

Index 説明
0 位置
1 位置からの長さ
2

・対応する属性は増えるごとに配列内の構造も変化する可能性がある。

コード例文字列

コード例の文字列

reference/サブプログラム.txt · 最終更新: 2023/12/07 15:51 (外部編集)

ページ用ツール