ユーザ用ツール


reference:その他

その他

CONST #定数名=定数式[,#定数名=定数式]

定数を定義する

・1個の定義の後ろにカンマを書いて、続けて別の定数を定義する事ができる。

定数名

・定数名は変数名と同じ形式で、先頭に#が付く。

定数式

・定数式には数値、文字列、他の定数、CHR$,RGB,RGBF,HSV,HSVF,DEG,RADの各関数、及びそれらの演算が使用できる。

CONST #C1=1,#C2="ABC",#C3=RAD(180)
?#C1,#C2,#C3

ENUM #定数名[=定数式][,#定数名[=定数式]]

定数を連番で定義する

・CONSTと違い、整数定数のみ定義できる。
・定数式は省略できる。
・省略時は場合直前の定数定義に設定した値+1が使用される。

定数名

・定数名は変数名と同じ形式で、先頭に'#'が付く

定数式

・定数式には整数、他の整数定数、RGB,RGBF,HSV,HSVF,DEG,RAD、及びそれらの演算が使用できる。
・定数式が実数の場合、小数点以下は切り捨てられる。
・省略時は直前の定数定義に設定した値+1が使用される。

ENUM #TYPE1=2,#TYPE2,#TYPE3
?#TYPE1,#TYPE2,#TYPE3

DATA 定数式[,定数式…]

READ命令で読み込むデータを定義する

引数

定数式

・定数式には数値、文字列、他の定数、CHR$,RGB,RGBF,HSV,HSVF,DEG,RADの各関数、及びそれらの演算が使用できる。
・定数式であれば、数値も文字列も混在可能。

DATA 123,#C_RED,56,"SAMPLE"+CHR$(20)

READ 変数1[,変数2…]

DATA命令で定義した値を読み込む

・読み込めるデータがない場合、Out of data エラーが発生する。

引数

変数

読み込む情報を格納する変数(複数指定可能)
・最初のDATA文から順番に取得する。
・RESTORE命令を使用すると、読み込むDATA文を変更できる。

READ X,Y,Z,G$
DATA 200,120,0,"JAN" 
DATA 210,120,0,"FEB" 

RESTORE @ラベル
RESTORE 文字列

READ命令で読み込むDATA文を変更する

引数

@ラベル

読み込むDATA文の先頭に付けられた@ラベル名
・RESTORE "1:@ラベル名" などと、ラベル名の前に"数字:"をつけた場合、他のプログラムスロットも参照できる。
・プログラムスロットを指定する場合、あらかじめEXEC命令で対象プログラムスロット内のプログラムを使用可能にしておく必要がある。

文字列

・ラベルの代わりに文字列を指定すると、実行時に式の値をラベルと見なし、そのラベルを参照する。
・ラベル以外に、次の文字列を指定した場合それぞれ特殊な機能を持つ。

"PUSH" READ読み出し位置をスタックに待避させる。現在のREAD読み出し位置は変化しない。
"POP" READ読み出し位置をスタックから読み出した場所に設定する。
"BEGIN" READ読みだし位置をプログラム先頭のDATA文に設定する。
"数字:BEGIN" READ読み出し位置を指定プログラムスロット先頭のDATA文に設定する。

RESTORE @DATATOP
READ X,Y,Z,T$
@DATATOP
DATA 123,345,56,"SAMPLE" 

OPTION 機能名

プログラムの動作モードを設定する

引数

機能名

|STRICT|変数定義が必須となり、未定義変数への代入がエラーとなる。| |DEFINT|変数のデフォルト値として実数ではなく整数の0が設定される。数値配列のデフォルト型が整数配列となる。|"

OPTION STRICT

WAIT [フレームカウント]

指定フレームカウントが経過するまでプログラムの実行を停止させる

引数

フレームカウント

現在からの経過フレームカウントを指定
・0を指定すると停止しない。
・省略時は1を指定した事になる。

WAIT 60

VSYNC [フレームカウント]

指定フレームカウントが経過するまでプログラムの実行を停止させる

・WAITとは異なり前回VSYNC実行時からのフレームカウントを指定する。

引数

フレームカウント

前回のVSYNCからの経過フレームカウントを指定
・0を指定すると停止しない。
・省略時は1を指定した事になる。

VSYNC 1

REM
'

コメント記述用の記号

・REMまたは' 以降行末まではコメントとみなし、無視される。
・コメント内容はプログラム実行に影響しない。

' MAIN ROUTINE

TMREAD OUT H,M,S
TMREAD 時間文字列 OUT H,M,S

時間文字列を数値に変換する

引数

時間文字列

"HH:MM:SS"形式の時間文字列
・HHは00~23、MM,SSは00~59の数値文字。
・省略時は現在の時間。

返値

H,M,S

H 時間を受け取る変数
M 分を受け取る変数
S 秒を受け取る変数

TMREAD "12:59:31" OUT H,M,S

DTREAD OUT Y,M,D[,W]
DTREAD 日付文字列 OUT Y,M,D[,W]

日付文字列を数値に変換する

引数

日付文字列

"YYYY/MM/DD"形式の日付文字列
・YYYYは0000~9999、MMは01~12、DDは01~31の数値文字。
・省略時は現在の日時。

返値

Y,M,D,W

Y 年を受け取る変数
M 月を受け取る変数
D 日を受け取る変数
W 曜日(日曜日を0とする数値)を受け取る変数(省略可)

DTREAD "2014/10/12" OUT Y,M,D

CHKLABEL(文字列[,フラグ])

指定文字列と同名のラベルが存在するかどうか確認する

引数

文字列

ラベルとして検索する文字列
・CHKLABEL "1:@ラベル名" で他のプログラムスロットにあるラベルも確認できる。
・プログラムスロットを指定する場合、あらかじめEXEC命令で対象プログラムスロットを使用可能にしておく必要がある。

フラグ

DEF内でCHKLABELを使用した時に、DEF外部のラベルも検索するかを指定する

0 DEF内だけを検索
1 DEF内に無ければグローバルラベルを検索

・省略時は0。

返値

存在する時は1、存在しない時は0

A=CHKLABEL("@MAIN")

CHKCALL(文字列)

指定文字列と同名の命令・関数が存在するかどうか確認する

引数

文字列

命令・関数として検索する文字列

返値

存在する時は1、存在しない時は0

A=CHKCALL("KEYCHECK")

CHKVAR(文字列)

指定文字列と同名の変数が存在するかどうか確認する

引数

文字列

変数として検索する文字列

返値

存在する時は1、存在しない時は0

A=CHKVAR("COUNTX")

DIALOG 表示文字列 [,選択タイプ [,キャプション文字列 [,タイムアウト時間]]]

ダイアログを表示しボタンが押されるまで待つ

・押されたボタン情報はRESULT関数で取得できる。
・1:決定、-1:キャンセル、0:タイムアウト。

引数

表示文字列

ダイアログに表示する文字列
・表示文字列は256文字まで
・表示文字列内にCHR$(10)かCHR$(13)があると改行する。

選択タイプ

0 了解(デフォルト)
1 いいえ/はい
2 戻る/次へ
3 中止/決定
4 中止/実行
5 次へ

・省略時は0を指定した事になる。

キャプション文字列

ダイアログ上部のキャプション欄に表示する文字列
・キャプション文字列が46文字より長い場合、46文字までしか表示されない。
・省略時、キャプション欄には"DIALOG"と表示される。

タイムアウト時間

ダイアログを自動的に閉じるまでの秒数

・マイナス値を指定するとフレームカウント単位で指定となる。
・0を指定するとユーザーが操作するまで待ち続ける。
・省略時は0を指定した事になる。

DIALOG "はじめましょう",5,"シナリオ",-120

DIALOG(表示文字列,ボタン種類 [,キャプション文字列 [,タイムアウト時間]])

ダイアログを表示しタッチやハードウェアボタンが押されるまで待つ

引数

表示文字列

ダイアログに表示する文字列
・表示文字列は256文字まで。
・表示文字列内にCHR$(10)かCHR$(13)があると改行する。

ボタン種類

bit0 Xボタン
bit1 Bボタン
bit2 Yボタン
bit3 Aボタン
bit4 上ボタン
bit5 下ボタン
bit6 左ボタン
bit7 右ボタン
bit8 L
bit9 R
bit10 ZL
bit11 ZR
bit12 Lスティック押し込み
bit13 Rスティック押し込み
bit14 A,B,X,Yボタンのいずれか
bit15 上,下,左,右ボタンのいずれか
bit16 スティック押し込み以外のいずれかのボタン
bit17 タッチパネル

・上記ビット値をORしたものを指定する。
・ゼロを指定するとエラー。

キャプション文字列

ダイアログ上部のキャプション欄に表示する文字列
・キャプション文字列が46文字より長い場合、46文字までしか表示されない。
・省略時、キャプション欄には"DIALOG"と表示される。

タイムアウト時間

ダイアログを自動的に閉じるまでの秒数
・マイナス値を指定するとフレームカウント単位で指定となる。
・0を指定するとユーザーが操作するまで待ち続ける。
・省略時は0を指定した事になる。

返値

押されたボタンにより、ボタン種類引数相当のビット値が1になった値が返る
・タッチ以外はBUTTON()の返値と同じ物が返る。
・タイムアウトの場合は0が返る。

R=DIALOG("ABXYLR/十字キー/タッチ",(1 << #B_ANY) OR (1 << 17),"特別",0)

DIALOG(初期文字列,キャプション文字列[,最大文字数])

ファイル名入力専用のダイアログを表示する

引数

初期文字列

入力値としてあらかじめ設定しておくファイル名文字列
・ファイル名に使えない文字を使用するとエラーとなる。

キャプション文字列

キャプションに表示する文字列
・キャプション文字列が39文字より長い場合、39文字までしか表示されない。

最大文字数

最大32文字まで

返値

取得した文字列

・RESULT関数の返値が-1の場合はキャンセル(文字列無効)。

T$=DIALOG("NEWNAME0","SAVE",14)

RESULT()

一部命令の実行結果を取得する

・DIALOG, ファイル操作命令, XCTRLSTYLE等の、実行結果を取得する必要のある命令の実行結果を返す。
・RESULTを更新する命令の実行後に使用する。

返値

命令の実行結果
・結果の値は各命令により異なるが、共通要素としてすべての命令で1は成功、0は失敗をあらわす。

CALLIDX()

コールバックと結びついた番号を返す

返値

コールバックと結びついた番号
・CALL SPRITEの場合コールバックを呼び出したスプライトID。
・CALL TEXTの場合コールバックを呼び出したテキストスクリーンのID。
・コールバック外で呼び出すと無意味な値が返る。

CLIPBOARD 文字列

クリップボードの内容を設定する

引数

文字列

クリップボードに格納する文字列

CLIPBOARD "おはようございます" 

CLIPBOARD()

クリップボードの内容を取得する

返値

クリップボード内の文字列

PRINT CLIPBOARD()

KEY キー番号,文字列

ファンクションキーの内容を設定する

・Ctrl+F1~F5で設定した内容を入力できる。

引数

キー番号

登録するファンクションキー番号:1~5

文字列

ファンクションキーに登録する文字列
・文字列の最大長は256文字。

KEY 1,"PRINT" 

KEY(ファンクションキー番号)

ファンクションキーの内容を取得する

引数

キー番号

内容を取得するファンクションキー番号:1~5

返値

ファンクションキーに登録されている文字列

A$=KEY(1)

FONTINFO 文字コード,フォント種類 OUT X,Y
FONTINFO 文字列,フォント種類 OUT X,Y

フォントの格納座標を取得する

・GRPF内での指定フォントの格納座標を取得する。

引数

文字コード

調査したい文字の文字コード
・ユーザー定義文字は指定できない。

文字列

調査したい文字が1文字目に入っている文字列
・1文字目以外は無視する。
・ユーザー定義文字は指定できない。

フォント種類

調査したいフォントの種類
・8または16を指定できる。

返値

X,Y

GRPF上で文字が格納されている座標が返る

FREEMEM()
FREEMEM OUT 総空き容量,連続空き容量

文字列や配列で使用するメモリの空き容量を取得する

・容量の単位はバイト。SmileBASICでは1文字2バイト、整数配列1要素で4バイト、実数配列1要素で8バイト消費する。
・関数形式で使用すると総空き容量が返る。

返値

総空き容量

未使用メモリの合計サイズ

連続空き容量

未使用メモリのうち、一度に使用できるサイズ

MILLISEC()

プチコン4を起動してからの経過時間を返す

・単位はミリセコンド(1000分の1秒)

返値

起動してからの経過時間

MAINCNT()

プチコンを起動してからのフレームカウントを返す

・フレームカウント1あたりの時間は、処理落ちが発生しない場合で約60分の1秒。
・画面更新が何回行われたかを計るのに使用する。正確な時間を計るには向いていない。

返値

起動してからのフレームカウント

SYSPARAM(情報名文字列)
SYSPARAM 情報名文字列 OUT 設定値1,設定値2
SYSPARAM 情報名文字列,設定値

各種情報を取得・設定する

引数

設定項目名文字列

取得・設定したい項目の名前を文字列で指定する
指定可能な項目名は次の通り

LANG Switchに設定されている使用言語名(取得)
SYSBEEP システムUIの効果音再生フラグ(設定・取得)
TABSTEP エディタでTABキーを使用する際に挿入される空白の数(取得)
KEYREPEAT 設定メニューのキーリピート値(取得)
MOUSECURSOR マウスカーソルの表示(設定・取得)
TVMODE テレビモードかどうか(取得)
TOOL1 ツール1のファイル名(取得)
TOOL2 ツール2のファイル名(取得)
TOOL3 ツール3のファイル名(取得)

・KEYREPEATはリピート開始とリピート間隔の2つの値を返す

返値

項目名に応じた値が返る

PRINT SYSPARAM("LANG")
SYSPARAM "KEYREPEAT" OUT ST,IT

PERFBEGIN 計測番号[,色コード]

実行時間計測を開始する

・PERFEND命令とセットで使用する。

引数

計測番号

使用する計測情報の番号:0~7

色コード

パフォーマンスゲージ上で情報を表示する時の色
・省略可能。

PERFEND 計測番号

実行時間計測を終えて、結果をパフォーマンスゲージに登録する

・同じ計測番号を指定してPERFBEGINを呼び出していなかった場合、正しい計測結果を取得できない。

引数

計測番号

使用する計測情報の番号:0~7

PERFEND(計測番号)

実行時間計測を終えて、結果をパフォーマンスゲージに登録する

・同じ計測番号を指定してPERFBEGINを呼び出していなかった場合、正しい計測結果を取得できない。
・関数として使用すると、PERFBEGIN~PERFEND間の実行時間を取得できる。
・計測時間が2147秒以上になると正しい結果を返さなくなる。

引数

計測番号

使用する計測情報の番号:0~7

返値

PERFBEGINからPERFENDまでに経過した時間をマイクロセコンド(100万分の1秒)単位で返す

METALOAD ["プロジェクト名"]

指定プロジェクトのメタデータを読み込む

・指定プロジェクトのアイコンや説明文をメモリ上に読み込み、編集可能にする。

引数

プロジェクト名

読み込み対象のプロジェクト名文字列
・省略した場合カレントプロジェクトが読み込み対象となる

METAEDIT メタデータ項目,設定データ

メタデータ項目を設定する

引数

メタデータ項目

設定するメタデータ項目を数値で指定する

0 タイトル
1 説明文
2 アイコン

設定データ

設定する値を指定する
・値はメタデータ項目番号毎に型や内容が異なる。
・タイトルの場合、最大24文字の文字列を設定する。
・説明文の場合、最大240文字の文字列を設定する。CHR$(10)で改行。
・アイコンの場合、要素数1600(縦40,横40)の数値配列でアイコン画像を指定する。

METAEDIT メタデータ項目 OUT 設定データ

現在設定されているメタデータ項目を取得する

引数

メタデータ項目

取得するするメタデータ項目を数値で指定する

0 タイトル
1 説明文
2 アイコン

返値

設定データ

メタデータ項目番号毎に返る値が異なる
・タイトルの場合、最大24文字の文字列を返す。
・説明文の場合、最大24文字×10行の文字列を返す。CHR$(10)で改行。
・アイコンの場合、アイコン画像として要素数1600(縦40,横40)の2次元整数配列を返す。

METASAVE

メタデータを保存する

・カレントプロジェクトのメタデータが書き換えられる。

reference/その他.txt · 最終更新: 2023/12/07 15:51 (外部編集)

ページ用ツール