ユーザ用ツール


reference:その他

その他

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

定数を定義する

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

定数名

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

定数式

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

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

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

定数を連番で定義する

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

定数名

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

定数式

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

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

DATA 定数式[,定数式…]

READで読み込むデータの定義

・定数式であれば、数値も文字列も混在可能
・定数式は、数値の場合数値または数値定数、括弧、演算子(ショートカット付き演算子は除く)からなる式。
 文字列の場合、文字列または文字列定数、+、引数が数値定数式のCHR$からなる式。

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命令で対象スロット内のプログラムを使用可能にしておく)

文字列

・ラベルの代わりに文字列を指定すると、実行時に式の値からラベルを検索し、そのラベルを参照する。

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

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

引数

時間文字列

HH:MM:SS形式の時間文字列(省略時、現在の時間)

戻り

数値格納先変数

H: 時間を受け取る変数(0~23)
M: 分を受け取る変数
S: 秒を受け取る変数

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

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

日付文字列を数値に変換

引数

日付文字列

YYYY/MM/DD形式の日付文字列(省略時現在の日時)

戻り

数値格納先変数

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

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

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

指定文字列で参照できるラベルの存在確認

引数

文字列

・ラベルとして検索する文字列
・CHKLABEL "1:@ラベル名" で他のSLOT確認も可能
・あらかじめEXEC 1 等で対象SLOTを使用可能にしておく

フラグ

0 DEF内だけを検索(省略時=0)
1 DEF内に無ければグローバルラベルを検索

戻り

0=存在しない、1=存在

A=CHKLABEL("@MAIN")

CHKCALL(文字列)

指定文字列で参照できる命令・関数の存在確認

引数

文字列

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

戻り

0=存在しない、1=存在

A=CHKCALL("KEYCHECK")

CHKVAR(文字列)

指定文字列で参照できる変数の存在確認

引数

文字列

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

戻り

0=存在しない、1=存在

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の場合コールバックを呼び出したスプライトの管理番号
・CALL TEXTの場合コールバックを呼び出したテキストスクリーンのID
・CALL SPRITE,CALL TEXT以外で呼び出すと無意味な値が返る

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 テレビモードかどうか(取得)

・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までに経過した時間をマイクロセコンド(百万分の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 · 最終更新: 2019/08/15 12:54 (外部編集)

ページ用ツール