変数・値

数値
LiveMakerでは次のような表現の数値を使用することができます。
12345 整数
123.45 小数
$12345 16進数

真(TRUE)と偽(FALSE)
条件に適合している・ON状態・値が0以外を、条件に適合しない・OFF状態・値が0をと言います。LiveMakerでは真をTRUE、偽をFALSEと表すことができます。
例えば左ボタンがクリックされたかどうかを判断する場合、以下は同じ意味です。
@LClick == TRUE @LClick
逆に左ボタンがクリックされていないことを判断する場合は以下のようになります。
@LClick == FALSE Not( @LClick )

文字列
文字列はダブルクォーテーション( " )で囲みます。
"あいうえお"
文字列中にダブルクォーテーションを使用したい時は\"とします。
"あい\"う\"えお" → あい"う"えお
また文字列中に\を使用したい時は\\とします。
"あい\\うえお" → あい\うえお

エスケープシーケンス(\)
ダブルクォーテーションで囲まれた文字列の中ではバックスラッシュ( \ )に続く文字は特別な意味を持ちます。
表記 意味
\n 改行
\\ \
\" "

変数
変数には数値や文字列を代入することができます。整数(小数が使えない)、実数(小数が使える)、フラグ(TRUE・FALSE)、文字列(文字数制限なし)があり、変数作成時にどの型か指定します。
変数名には半角英数字とアンダーバー( _ )、及び全角文字が使えます。

配列
変数名[添え字]
という形式で配列を表現できます。添え字は0から始まります。
配列変数を直接作成するコマンドはありません。変数を作成した後にSetArray関数で配列にします。例えば、変数abcを10x10の二次元配列にするなら、SetArray( abc,10,10 )とします。この配列にアクセスする場合はabc[x,y]と記述します。
なお、abc と abc[0] は同じ扱いになります。

文字列と数値
文字列と数値は混合して使えます。例えば、以下のような2つの変数があったとして、
変数名
N 整数 50
S 文字列 "100"
次のような計算をすると
N = N + S
Nは150になります。また、次のような場合は
S = S ++ N
Sは"10050"になります。

動作タイプ
通常 ゲーム起動時またはリセット時に初期化されます
リセット時とは以下のような時です
・プレイヤーがシステムメニューを使ってタイトル画面に戻った時
・「シーン回想」モードで話を始めた時
・ゲームが終了してタイトル画面に戻った時
起動時のみ初期化 ゲーム起動時にだけ初期化されます
ステータス インストール後、最初にゲームを起動した時にだけ初期化されます。また、ソフト起動時に値を復帰し、ソフト終了時に値を保存します(その間にプレイヤーが行うゲームセーブ・ロードの影響は受けません)


システム変数

特殊な変数としてシステム変数があります。システム変数は@で始まり、システムの状態を取得したり設定したりすることができます。
変数名 意味 設定可
@Year 整数 現在の日付の年。 不可
@Month 整数 現在の日付の月。 不可
@Day 整数 現在の日付の日。 不可
@Week 整数 曜日を1(日)〜7(土)で返す。 不可
@Hour 整数 現在の時刻の時。 不可
@Min 整数 現在の時刻の分。 不可
@Sec 整数 現在の時刻の秒。 不可
@1Hour 実数 1日を1とした時の1時間の値 不可
@1Min 実数 1日を1とした時の1分の値 不可
@1Sec 実数 1日を1とした時の1秒の値 不可
@MouseX 整数 マウスカーソルのX座標を返す。
@MouseY 整数 マウスカーソルのY座標を返す。
@LClick フラグ 左ボタンがクリックされた時にTRUEを返す。 不可
@RClick フラグ 右ボタンがクリックされた時にTRUEを返す。 不可
@LPush フラグ 左ボタンが押されている時にTRUEを返す。 不可
@RPush フラグ 右ボタンが押されている時にTRUEを返す。 不可
@KeyClick[キー番号] フラグ 指定のキーがクリックされた時にTRUEを返す 不可
@KeyPush[キー番号] フラグ 指定のキーが押されていればTRUEを返す 不可
@KeyRepeat[キー番号] フラグ 指定のキーがクリックされた時、または押されている間、一定周期毎にTRUEを返す 不可
@Pi 実数 円周率 不可
@TickCount 整数 プログラムが開始してからの時間をミリ秒単位で返す。 不可
@PCTickCount 整数 Windowsが起動してからの時間をミリ秒単位で返す。 不可
@Title 文字列 ソフトウェアのタイトルを返す 不可
@FullScr フラグ フルスクリーンならTRUEを返す。
@ScrHeight 整数 画面の高さ。 不可
@ScrWidth 整数 画面の幅。 不可
@SelIndex 整数 文字列選択や画像選択でプレイヤーが選択した番号(0〜)。画像選択の場合は、LivePreviewMenuで表示される番号と同じものが入る。
※右クリックでクローズした場合は-1。
@SelStr 文字列 文字列選択や画像選択でプレイヤーが選択した文字列。画像選択の場合は、LivePreviewMenuで付けた名前が入る。
▼以下の変数はLiveMakerPro用なので、通常LiveMakerでは使いません
@ActiveCompo 文字列 キーボードからの入力を受け取るコンポーネントの名前。
@CGDither フラグ TRUEならフルカラー画像を読み込む時、ディザで減色処理を行う
@Cursor 文字列 デフォルトのマウスカーソルのファイル名。コンポーネントのカーソルが設定されている場合はそちらが優先される。
@DisplayModeCount 整数 ディスプレイモードの数を返す。ディスプレイモードの情報はGetDisplayMode関数で取得できる 不可
@DisplayModeIndex 整数 フルスクリーン時のディスプレイモード番号。フルスクリーンの状態でこの変数に値を設定すると即反映される。
@FixedFonts 文字列 システムで使える固定ピッチTrueTypeフォントの名前を改行で区切って返す。 不可
@Fonts 文字列 システムで使えるTrueTypeフォントの名前を改行で区切って返す。 不可
@HistoryCount 整数
履歴書式登録
している場合
テキスト履歴の高さ(ピクセル単位)
履歴書式登録
していない場合
呼び出し可能なテキスト履歴の数
不可
@HistoryMaxCount 整数 記憶可能なテキスト履歴の最大ページ数。
履歴書式登録
している場合
履歴表示用メッセージボックスでのページ数
履歴書式登録
していない場合
テキスト挿入時のページ数
@IsDebug フラグ デバッグモードで実行中ならTRUEを返す。 不可
@ParamStr 文字列 引数の値。アクセスできる範囲は
@ParamStr[0] 〜 @ParamStr[@ParamCount-1]
不可
@Result - コール元に返す戻り値を設定する。
@Sender 文字列 呼び出したコンポーネントの名前。 不可
@SoundON フラグ FALSEでサウンド再生を無効にします。
@StackCount 整数 コールスタック数。 不可
@Temp - AssignTempで変数を割り当てると、その変数の代わりとして使える
@TextDelay 整数 テキスト挿入のデフォルトウエイト。
@MidiPort 文字列 現在のMIDIポート。
@MidiPorts[インデックス] 文字列 使用可能なMIDIポート。インデックスは0〜(GetArraySize(@MidiPorts)-1) 不可

演算子

代入
意味
x = 5 変数xに5を代入する
s = "あいうえお" 変数sに文字列 あいうえお を代入する

算術演算子
x = 1 + 3 足し算
x = 3 - 1 引き算
x = 5 * 3 掛け算
x = 5 / 2 割り算
x = 5 % 2 割った余り(この場合は1)

ビット演算子
| 論理和(OR)
& 論理積(AND)
^ 排他的論理和(XOR)
<< 左シフト
>> 右シフト

比較演算子
a == b aとbが等しければ(文字列でも可)
a <> b aとbが等しくなければ(文字列でも可)
a < b aがbより小さければ(文字列でも可)
a > b aがbより大きければ(文字列でも可)
a <= b aがb以下であれば(文字列でも可)
a >= b aがb以上であれば(文字列でも可)
(a == 1) & (b == 2) aが1で、かつ、bが2であれば
(a == 1) | (b == 2) aが1、または、bが2であれば

文字列連結
a ++ b 文字列aとbを連結します
a + b 文字列aとbを連結します
+は、代入先が文字列変数ではない場合に、文字列連結ではなく加算と解釈されてしまいます。++の場合は常に文字列連結となります。

関数
関数は計算ノードの中で使うことができます。
カテゴリ 関数 機能 引数 戻り値
の型
使用例
DB DBGetActive 現在のアクティブテーブルの名前を返す。 - 文字列 s=DBGetActive()
DB DBSort アクティブテーブルのレコードをソートする。成功ならTRUEを返す。 @ソートキーにする項目名(配列可)
A逆順フラグ(配列可)
フラグ name[]={"HP","MP"}
rev[]={FALSE,TRUE}
f=DBSort(name,rev)
DB DBClearRecord 指定された名前のテーブルまたはアクティブテーブルの全レコードを削除する(項目リストは消えない)。成功ならTRUEを返す。 @テーブルの名前(省略時はアクティブテーブル) フラグ f=DBClearRecord()
DB DBGetRecNo 指定された名前のテーブルまたはアクティブテーブルのアクティブレコードの番号を返す。アクティブレコードがない場合は-1を返す。 @テーブルの名前(省略時はアクティブテーブル) 整数 n=DBGetRecNo()
DB DBInsertTable 指定テーブルの全てのレコードまたは条件に合致したレコードをアクティブテーブルに追加する。成功ならTRUEを返す。 @コピー元テーブル名
Aレコード条件の項目名(配列可・省略時は無条件)
Bレコード条件の内容(配列可・省略時は無条件)
CTRUEなら大小文字を区別しない(省略時はFALSE)
D部分一致許可(省略時はFALSE)
フラグ f=DBInsertTable("DB2","職業",2,FALSE,FALSE)
DB DBDeleteTable 指定された名前のテーブルまたはアクティブテーブルを削除する。成功ならTRUEを返す。 @テーブルの名前(省略時はアクティブテーブル) フラグ f=DBDeleteTable()
DB DBClearTable 全てのテーブルを削除する。成功ならTRUEを返す。 - フラグ f=DBClearTable()
DB DBCopy アクティブテーブルのアクティブレコードの内容を指定テーブルに追加する。成功ならTRUEを返す。 @追加先テーブルの名前 フラグ f=DBCopy("DB2")
DB DBGetStr アクティブテーブルのアクティブレコードの指定項目の内容を文字列で返す。 @項目名 文字列 s=DBGetStr("名前")
DB DBSetActive 指定名のテーブルをアクティブにする。成功ならTRUEを返す。 @テーブルの名前 フラグ f=DBSetActive("DB1")
DB DBCreateTable 指定名のテーブルを作成し、そのテーブルをアクティブにする。成功ならTRUEを返す。 @名前
Aステータス扱いならTRUE
フラグ f=DBCreateTable("DB1",FALSE)
DB DBGetTableCount 存在するテーブルの個数を返す。 - 整数 n=DBGetTableCount
DB DBGetTable 指定インデックスのテーブル情報を変数にセットする。成功ならTRUEを返す。 @インデックス(0〜DBGetTableCount-1)
A名前を受け取る変数
Bステータスかどうかを受け取る変数
フラグ f=DBGetTable(0,Name,IsStatus)
DB DBSetRecNo アクティブテーブルの指定番号のレコードをアクティブにする。成功ならTRUEを返す。 @レコード番号 フラグ f=DBSetRecNo(0)
DB DBAddField アクティブテーブルに項目を追加する。成功ならTRUEを返す。 @項目名
A
B文字数(文字列型の場合のみ)
フラグ f=DBAddField("HP",PT_INT,0)
DB DBGetBool アクティブテーブルのアクティブレコードの指定項目の内容をフラグで返す。 @項目名 フラグ f=DBGetBool("男")
DB DBSetBool アクティブテーブルのアクティブレコードの内容をフラグで設定する。成功ならTRUEを返す。 @項目名
A内容
フラグ f=DBSetBool("男",FALSE)
DB DBGetFloat アクティブテーブルのアクティブレコードの指定項目の内容を実数値で返す。 @項目名 実数 e=DBGetFloat("成功率")
DB DBSetFloat アクティブテーブルのアクティブレコードの内容を実数値で設定する。成功ならTRUEを返す。 @項目名
A内容
フラグ f=DBSetFloat("成功率",78.3)
DB DBFindPrior アクティブテーブルのアクティブレコードの前のレコードをアクティブにする。成功ならTRUEを返す。 - フラグ f=DBFindPrior()
DB DBFindNext アクティブテーブルのアクティブレコードの次のレコードをアクティブにする。成功ならTRUEを返す。 - フラグ f=DBFindNext()
DB DBLoadTsvFile アクティブテーブルにTSVファイルを読み込む。成功ならTRUEを返す。
※TSVの最初の行はフィールド設定となります
@ファイル名 フラグ f=DBLoadTsvFile("データ.tsv")

【データ.tsvの例】※<T>はタブ文字
名前 char 10<T>年齢 int<T>視力 float<T>眼鏡 bool
太郎<T>20<T>2.0<T>FALSE
花子<T>18<T>0.1<T>TRUE

フィールド設定は「フィールド名 型 長さ(文字列のみ)」と記述します。型には、int(整数)、float(実数)、bool(フラグ)、char(文字列)があります。文字列の長さは半角文字単位で指定します(指定しなかった場合は80文字)。
フィールド名のみ記述した場合は半角80文字の文字列型となります。
DB DBLocate アクティブテーブルの中から指定レコードを検索しアクティブにする。成功ならTRUEを返す。 @項目名(配列可)
A内容(配列可)
BTRUEなら大小文字を区別しない(省略時はFALSE)
C部分一致許可(省略時はFALSE)
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBLocate(name,val,TRUE,FALSE)
DB DBRecordCount 指定された名前のテーブル(省略時はアクティブテーブル)のレコード数を返す。テーブルが存在しない場合は-1を返す。 @テーブルの名前(省略可) 整数 n=DBRecordCount("DB1")
DB DBSetStr アクティブテーブルのアクティブレコードの内容を文字列で設定する。成功ならTRUEを返す。 @項目名
A内容
フラグ f=DBSetStr("名前","太郎")
DB DBFindLast アクティブテーブルの最後のレコードをアクティブにする。成功ならTRUEを返す。 - フラグ f=DBFindLast()
DB DBFindFirst アクティブテーブルの最初のレコードをアクティブにする。成功ならTRUEを返す。 - フラグ f=DBFindFirst()
DB DBDirectGetInt 指定テーブルの指定レコードの内容を整数値で返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E取り出す項目名
F取得できなかった時に返す値
整数 name[]={"名前","HP"}
val[]={"太郎",100}
n=DBDirectGetInt("DB1",name,val,TRUE,FALSE,"MP",0)
DB DBDirectGetStr 指定テーブルの指定レコードの内容を文字列で返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E取り出す項目名
F取得できなかった時に返す値
文字列 name[]={"名前","HP"}
val[]={"太郎",100}
s=DBDirectGetStr("DB1",name,val,TRUE,FALSE,"ニックネーム","")
DB DBDirectSetBool 指定テーブルの指定レコードの内容をフラグで設定する。成功ならTRUEを返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E設定する項目名
F値
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBDirectSetFlag("DB1",name,val,TRUE,FALSE,"男",TRUE)
DB DBCopyTable アクティブテーブルの全てのレコードまたは条件に合致したレコードを別のテーブルにコピーする。成功ならTRUEを返す。 @コピー先テーブル名
Aレコード条件の項目名(配列可・省略時は無条件)
Bレコード条件の内容(配列可・省略時は無条件)
CTRUEなら大小文字を区別しない(省略時はFALSE)
D部分一致許可(省略時はFALSE)
フラグ f=DBCopyTable("DB2","職業",2,FALSE,FALSE)
DB DBDirectSetStr 指定テーブルの指定レコードの内容を文字列で設定する。成功ならTRUEを返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E設定する項目名
F値
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBDirectSetStr("DB1",name,val,TRUE,FALSE,"ニックネーム","タロ")
DB DBDirectGetFloat 指定テーブルの指定レコードの内容を実数値で返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E取り出す項目名
F取得できなかった時に返す値
実数 name[]={"名前","HP"}
val[]={"太郎",100}
e=DBDirectGetFloat("DB1",name,val,TRUE,FALSE,"成功率",54.3)
DB DBDirectSetInt 指定テーブルの指定レコードの内容を整数値で設定する。成功ならTRUEを返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E設定する項目名
F値
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBDirectSetInt("DB1",name,val,TRUE,FALSE,"MP",10)
DB DBDirectGetBool 指定テーブルの指定レコードの内容をフラグで返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E取り出す項目名
F取得できなかった時に返す値
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBDirectGetBool("DB1",name,val,TRUE,FALSE,"男",FALSE)
DB DBDirectSetFloat 指定テーブルの指定レコードの内容を実数値で設定する。成功ならTRUEを返す。 @テーブル名
Aレコード条件の項目名(配列可)
Bレコード条件の内容(配列可)
CTRUEなら大小文字を区別しない
D部分一致許可
E設定する項目名
F値
フラグ name[]={"名前","HP"}
val[]={"太郎",100}
f=DBDirectSetFloat("DB1",name,val,TRUE,FALSE,"成功率",82.3)
DB DBGetInt アクティブテーブルのアクティブレコードの指定項目の内容を整数値で返す。 @項目名 整数 n=DBGetInt("HP")
DB DBSetInt アクティブテーブルのアクティブレコードの内容を整数値で設定する。成功ならTRUEを返す。 @項目名
A内容
フラグ f=DBSetInt("HP",100)
DB DBInsert アクティブテーブルにレコードを追加し、そのレコードをアクティブにする。成功ならTRUEを返す。 @〜項目の内容を入れる(省略可) フラグ f=DBInsert(10,TRUE,"太郎")
DB DBDelete アクティブテーブルのアクティブレコードを削除し、その次のレコードをアクティブにする。成功ならTRUEを返す。 - フラグ f=DBDelete()
コンポ Exists コンポーネントが存在するか調べ、あればTRUEを返す @コンポーネント名 フラグ IF Exists( "画像1" )
ファイル FileExists 指定された名前のファイルが存在すればTRUEを返す。 @ファイル名 フラグ FileExists("画像\\画像1.gal")
ファイル ExtractFileExt ファイル名の拡張子部分(ピリオド含)を返す @ファイル名 文字列 S=ExtractFileExt( "画像\\背景\\BG1.GAL" )
S==".GAL"
ファイル ExtractFileName ファイル名の名前部分と拡張子部分を返す @ファイル名 文字列 S=ExtractFileName( "画像\\背景\\BG1.GAL" )
S=="BG1.GAL"
ファイル ExtractFilePath ファイル名のディレクトリ部分を返す @ファイル名 文字列 S=ExtractFilePath( "画像\\背景\\BG1.GAL" )
S=="画像\\背景\\"
ファイル ChangeFileExt ファイル名の拡張子を変更し、変更後のファイル名を返す
拡張子文字列を空にすれば、拡張子を取り除くことができる
@ファイル名
A拡張子
文字列 S=ChangeFileExt( "BG1.GAL",".LCM" )
S=="BG1.LCM"

S=ChangeFileExt( "BG1.GAL","" )
S=="BG1"
ファイル SelectOpenFile ユーザーに読み込み用のファイル(パス)を選択させる
ユーザーがファイルを選択した場合はTRUEを返す
@ファイル名(フルパス)が入る変数
Aファイルマスク(省略可)(表記|マスク|表記|マスク...となる)
フラグ f=SelectOpenFile( path )
f=="c:\\tmp\\test.txt"

f=SelectOpenFile( path,"PNG|*.png" )

f=SelectOpenFile( path,"PNG|*.png|JPEG|*.jpg;*.jpeg" )
ファイル SelectSaveFile ユーザーに保存用のファイル(パス)を選択させる
ユーザーがファイルを選択した場合はTRUEを返す
@ファイル名(フルパス)が入る変数
Aファイルマスク(省略可)(表記|マスク|表記|マスク...となる)
フラグ f=SelectSaveFile( path )
f=="c:\\tmp\\test.txt"

f=SelectSaveFile( path,"PNG|*.png" )

f=SelectSaveFile( path,"PNG|*.png|JPEG|*.jpg;*.jpeg" )
ファイル SelectDirectory ユーザーにフォルダを選択させる
ユーザーがフォルダを選択した場合はTRUEを返す
パスの末尾には必ず「\」が付く
@フォルダのフルパスが入る変数 フラグ f=SelectDirectory( path )
f=="c:\\tmp\\"
ファイル ExtractFile ゲームデータから特定のファイルを抽出し保存する
保存した場合はTRUEを返す
@抽出するファイル名(runimageがルート・配列可・ワイルドカード可)
Aユーザーに上書き確認するならTRUE(省略可・省略時はTRUE)
B保存するパス。EXEのあるフォルダがルートとなる。また、{Desktop}でデスクトップ、{MyDocuments}でマイドキュメントを指定できる(省略可・省略時はフォルダ選択ダイアログを表示)
フラグ SetArray( files,2 )
files[0] = "グラフィック\\test.jpg"
files[1] = "サウンド\\*.ogg"
f=ExtractFile( files,TRUE,"プレゼント" )

実行フォルダの中に「プレゼント」フォルダが作られ、その中に「test.jpg」と、「サウンド」フォルダ内の全てのoggファイルが保存される

f=ExtractFile( files,TRUE,"{Desktop}\\プレゼント" )

デスクトップに「プレゼント」フォルダが作られる
計算 Hypot 直角三角形の斜辺の長さを返す @X
AY
実数 n=Hypot(x,y)
計算 Random 0 <= X < Range
の範囲の乱数を返す
@Range 整数 n=Random( 100 )
n==0〜99
計算 Fabs 実数の絶対値を返す @実数 実数 n=Fabs(-100.5)
n==100.5
計算 ArcTan2 ArcTan(Y/X) を計算して、正しい象限の角度を返す @Y
AX
実数 n=ArcTan2(y,x)
計算 ArcTan Xのアークタンジェントを返す @X 実数 n=ArcTan(r)
計算 ArcSin Xのアークサインを返す @X(-1〜1) 実数 n=ArcSin(r)
計算 ArcCos Xのアークコサインを返す @X(-1〜1) 実数 n=ArcCos(r)
計算 Sin ラジアン単位で指定した角のサインを返す @角 実数 n=Sin(r)
計算 Calc 文字列で記述された式を実行し、成功ならTRUEを返す @式 フラグ f=Calc("a = a + b")
計算 Cos ラジアン単位で指定した角のコサインを返す @角 実数 n=Cos(r)
計算 Tan Xのタンジェントを返す @X 実数 n=Tan(r)
計算 Abs 整数の絶対値を返す @整数 整数 n=Abs(-100)
n==100
計算 Min 2つの整数値のうち、小さいほうの値を返す @整数値
A整数値
整数 n = Min(12,45)
n==12
計算 Max 2つの整数値のうち、大きいほうの値を返す @整数値
A整数値
整数 n = Max(12,45)
n==45
計算 Fmin 2つの実数値のうち、小さいほうの値を返す @実数値
A実数値
実数 n = Fmin(12.3,45.6)
n==12.3
計算 Fmax 2つの実数値のうち、大きいほうの値を返す @実数値
A実数値
実数 n = Fmax(12.3,45.6)
n==45.6
日時 EncodeDate 年月日を日時値に変換する @年
A月
B日
実数 dt=EncodeDate(2002,8,10)
日時 GetSec 日時値から何秒かを返す @日時値 整数 s=GetSec(tm)
日時 GetMonth 日時値から何月かを返す @日時値 整数 m=GetMonth(dt)
日時 EncodeTime 時分秒を日時値に変換する @時
A分
B秒
実数 tm=EncodeTime(20,10,30)

2002/8/10 20:10 30秒を表すには上記EncodeDateと組み合わせて dt+tm とすればよい
日時 DecodeDate 日時値の日付部分を年月日に変換する @日時値
A年を受け取る変数
B月を受け取る変数
C日を受け取る変数
なし DecodeDate(dt,y,m,d)
日時 DecodeTime 日時値の時間部分を時分秒に変換する @日時値
A時を受け取る変数
B分受け取る変数
C秒を受け取る変数
なし DecodeTime(tm,h,m,s)
日時 GetMin 日時値から何分かを返す @日時値 整数 m=GetMin(tm)
日時 GetWeekJStr 日時値から何曜日かを日本語で返す @日時値 文字列 w=GetWeekJStr(dt)
w=="月"
日時 GetHour 日時値から何時かを返す @日時値 整数 h=GetHour(tm)
日時 GetDay 日時値から何日かを返す @日時値 整数 d=GetDay(dt)
日時 GetWeek 日時値から何曜日かを整数で返す(日曜日が1、土曜日が7) @日時値 整数 w=GetWeek(dt)
w==2
日時 GetYear 日時値から何年かを返す @日時値 整数 y=GetYear(dt)
日時 GetWeekStr 日時値から何曜日かを英語で返す @日時値 文字列 w=GetWeekStr(dt)
w=="Monday"
配列 IndexOfStr 配列から文字列を検索し、見つかった場合はインデックスを返す。見つからなかった場合は-1を返す。 @変数
A文字列
B大文字小文字を区別するならTRUE(省略した場合はTRUE)
C部分一致も含めるならTRUE(省略した場合はFALSE)
整数 S[0]="あい"
S[1]="うえお"
n=IndexOfStr( S,"うえお" )
n==1
配列 InsertArray 配列Bを配列Aの指定位置に結合し、結合後の要素数を返す。なお、配列は1次元でなくてはならない。 @配列A
A挿入位置(0〜)
B配列B
整数 A[]=={0,1}
B[]=={2,3}
InsertArray(A,1,B)
A[]=={0,2,3,1}
配列 SetArray 配列のサイズを設定する @変数
A〜サイズ
なし n[5,8,2]にする場合は
SetArry( n,5,8,2 )
配列 LoadTextFile テキストファイルの内容を変数に読み込む。変数は行数分の配列変数になる。読み込みに成功した場合はTRUEを返す。 @変数
Aファイル名
フラグ LoadTextFile(S,"Data\\名前.txt")
配列 AddArray 配列Bを配列Aの最後に結合し、結合後の要素数を返す。なお、配列は1次元でなくてはならない。 @配列A
A配列B
整数 A[]=={0,1}
B[]=={2,3}
AddArray(A,B)
A[]=={0,1,2,3}
配列 StringToArray 改行(または指定文字)で区切られた文字列を配列に変換 @文字列
A変数
B区切り文字(複数指定可・全角は禁止)。省略した場合は改行。
なし StringToArray( "あい\nうえお",S )
S[0]=="あい" S[1]=="うえお"

StringToArray( "あい+うえお",S,"+" )
S[0]=="あい" S[1]=="うえお"
配列 SortStr 配列を並べ替える @変数
ATRUEなら逆順(省略可・省略時=FALSE)
BFALSEなら文字列として比較、TRUEなら数値として比較(省略可・省略時=FALSE)
なし S[0]=="うえお"
S[1]=="あい"
SortStr( S )
S[0]=="あい" S[1]=="うえお"
配列 GetArraySize 配列のサイズを取得 @変数
A次元を指定(省略した場合は1次元配列としてのサイズを返す)
整数 S[]=={10,20}
n=GetArraySize( S,0 )
n==20

n=GetArraySize( S )
n==200
配列 CopyArray 配列Aを配列Bの内容と同じにする。 @配列A
A配列B
なし A[]=={0}
B[]=={2,3}
CopyArray(A,B)
A[]=={2,3}
配列 CopyMem 変数2の内容を変数1にコピーする
変数1と変数2は同じ型・同じサイズでなくてはならない
@変数1
A変数2
なし CopyMem( n1,n2 )
配列 ArrayToString 配列を改行(または指定文字)区切りの文字列に変換 @配列
A区切り文字。省略した場合は改行。
文字列 S[0] = "あい"
S[1] = "うえお"
SS=ArrayToString( S )
SS=="あい\nうえお"

SS=ArrayToString( S,"+" )
SS=="あい+うえお"
配列 DeleteArray 配列の一部を削除し、削除後の要素数を返す。なお、配列は1次元でなくてはならない @配列
A削除位置(0〜)
B削除する要素数
整数 A[]=={0,1,2,3}
DeleteArray(A,1,2)
A[]=={0,3}
配列 TrimArray 配列から指定値を削除し、削除後の要素数を返す @配列
A削除する値(省略時は0または空文字列)
整数 A[]=={1,0,2,0,3}
n=TrimArray(A)
A[]=={1,2,3}
n==3
配列 UniqueArray 配列から重複した値を削除し、削除後の要素数を返す @配列 整数 A[]=={0,1,2,2,3}
n=UniqueArray(A)
A[]=={0,1,2,3}
n==4
配列 FillMem 配列を指定された値で埋める @変数
A値
なし FillMem( n,0 )
文字列 AddDelimiter 文字列が空でない場合に文字列の末尾に区切り文字を付加して返す。文字列が空の場合はそのまま空文字列を返す @区切り文字
A文字列
文字列 S=AddDelimiter("+","文字列")
S=="文字列+"

S=AddDelimiter("+","")
S==""
文字列 AddBackSlash 文字列の最後が\でなければ\を付加した文字列を返す @文字列 文字列 S=AddBackSlash( "画像\\背景" )
S=="画像\\背景\\"
文字列 Chr 指定されたASCII値に対応する文字を返す @ASCII値(0〜255) 文字列 S=Chr(65)
S=="A"
文字列 CompareStr 文字列を比較
文字列1が文字列2より小さければ負の値を、等しければ0を、1が2より大きければ正の値を返す
@文字列1
A文字列2
整数 n = CompareStr("abc","abc")
n==0
文字列 CompareText 大文字と小文字を区別せずに文字列を比較
文字列1が文字列2より小さければ負の値を、等しければ0を、1が2より大きければ正の値を返す
@文字列1
A文字列2
整数 n = CompareText("ABC","abc")
n==0
文字列 Copy 文字列の一部を返す @文字列
A何バイト目からコピーするか(1〜)
Bコピーするバイト数(省略時は最後まで)
文字列 SS = "あいうえお"
S = Copy( SS,3,2 )
文字列 Delete 文字列の一部を削除 @文字列
A何バイト目から削除するか(1〜)
B削除するバイト数(省略時は最後まで)
なし S = "あいうえお"
Delete( S,3,2 )
S=="あうえお"
文字列 FixStr 文字列の末尾に、2バイト文字の先頭バイトがあれば、それを削除してから文字列を返す @文字列 文字列 s=FixStr( Copy("あい",1,3) )
s=="あ"
文字列 HanToZen 文字列の中に半角文字があれば全角文字に変換して文字列を返す @文字列 文字列 s=HanToZen("今日は2月15日だ!")
s=="今日は2月15日だ!"
文字列 Insert 文字列に別の文字列を挿入 @挿入する文字列
A文字列
B何バイト目に挿入するか(1〜)
なし S="あいうえお"
Insert( "かき",S,3 )
S=="あかきいうえお"
文字列 IntToHex 整数を16進文字列に変換 @変換する整数
A桁数
文字列 S=IntToHex( 100,3 )
S=="064"
文字列 IntToStr 整数を文字列に変換して返す @変換する整数
A桁数(省略可)
文字列 S=IntToStr( 87 )
S=="87"

S=IntToStr( 87,3 )
S=="087"
文字列 StrToIntDef 文字列を整数に変換して返す @文字列(16進数の場合は先頭に$を付加)
A変換できない時に返す整数値
整数 n=StrToIntDef("$100",0)
n==256

n=StrToIntDef("xxx",-1)
n==-1
文字列 StrToFloatDef 文字列を実数に変換 @文字列
A変換できない時に返す実数値
実数 n=StrToFloatDef("4.56",0)
n==4.56

n=StrToFloatDef("xxx",0.5)
n==0.5
文字列 IsDelimiter 文字列の指定位置が区切り文字ならTRUEを返す @区切り文字(複数可・全角は禁止)
A文字列
B何バイト目か(1〜)
フラグ F=IsDelimiter( "/","あい/うえお",5 )
F==TRUE
文字列 IsPathDelimiter 文字列の指定位置が\ならTRUEを返す @文字列
A何バイト目か(1〜)
フラグ F=IsPathDelimiter( "画像\\BG1.GAL",5 )
F==TRUE
文字列 JCopy 文字列の一部を返す(日本語対応) @文字列
A何文字目からコピーするか(1〜)
Bコピーする文字数(省略時は最後まで)
文字列 S=JCopy( "あいうえお",3,2 )
S=="うえ"
文字列 JDelete 文字列の一部を削除(日本語対応) @文字列
A何文字目から削除するか(1〜)
B削除する文字数(省略時は最後まで)
なし S=="あいうえお"
JDelete( S,3,2 )
S=="あいお"
文字列 JInsert 文字列に別の文字列を挿入(日本語対応) @挿入する文字列
A文字列
B何文字目に挿入するか(1〜)
なし S=="あいうえお"
JInsert( "かき",S,3 )
S=="あいかきうえお"
文字列 JLength 文字列の長さ(文字単位)を返す @文字列 整数 n=JLength( "あ" )
n==1
文字列 JPos 文字列から別の文字列を検索(日本語対応)
文字列2から文字列1を探し、文字のインデックスを返す。見つからなかった場合は0を返す
@文字列1
A文字列2
整数 n=JPos( "うえ","あいうえお" )
n==3
文字列 JTrim 文字列から先頭部分および末尾部分の空白(全角含む)と制御文字を取り除く(日本語対応) @文字列 文字列 S=JTrim( " あいうえお\n" )
S=="あいうえお"
文字列 Length 文字列の長さ(バイト単位)を返す @文字列 整数 n=Length( "あ" )
n==2
文字列 LowerCase 文字列を小文字に変換して返す @文字列 文字列 S=LowerCase("ABC")
S=="abc"
文字列 Ord 指定された文字のASCII値(0〜255)を返す @文字 整数 n=Ord("A")
n==65
文字列 Pos 文字列から別の文字列を検索
文字列2から文字列1を探し、文字のインデックスを返す。見つからなかった場合は0を返す
@文字列1
A文字列2
整数 n=Pos( "うえ","あいうえお" )
n==5
文字列 StringOfChar 指定文字を指定した数だけ繰り返してできた文字列を返す @文字
A繰り返す数
文字列 S=StringOfChar("あ",5)
S=="あああああ"
文字列 StringReplace 文字列の中にある部分文字列を別の文字列に置換して返す @検索対象文字列
A検索文字列
B置換文字列
CFALSEなら最初に見つかった文字列のみ・TRUEなら全部置換(省略時はFALSE)
DTRUEなら大小文字を区別しない(省略時はFALSE)
文字列 S=StringReplace("ABCabc","A","X")
S=="XBCabc"

S=StringReplace("ABCabc","A","X",TRUE,TRUE)
S=="XBCXbc"
文字列 Trim 文字列から先頭部分および末尾部分の空白と制御文字を取り除く @文字列 文字列 S=Trim( " あいうえお\n" )
S=="あいうえお"
文字列 UpperCase 文字列を大文字に変換して返す @文字列 文字列 S=LowerCase("abc")
S=="ABC"
文字列 ZenToHan 文字列の中に全角文字があれば半角文字に変換して文字列を返す @文字列 文字列 s=ZenToHan("今日は2月15日だ!")
s=="今日は2月15日だ!"
変数 Not TRUEとFALSEを反転して返す @フラグ フラグ F=Not( TRUE )
F==FALSE
変数 Int 整数値に変換して返す @変数 整数 n = Int("100")
n==100

n = Int(1.23)
n==1
変数 GetVarType 変数の型(PT_INT、PT_FLOAT、PT_BOOL、PT_STR))を返す @変数 整数 n=GetVarType(s)
n==PT_STR
変数 VarExists 変数が存在するか調べ、あればTRUEを返す @変数名 フラグ IF VarExists( "A1" )
変数 Float 実数値に変換して返す @変数 整数 n = Float("1.23")
n==1.23

n = Float(100)
n==100
コンポ GetItem メニューやプレビューメニューの項目(名)を返す @メニューの名前A選択肢のインデックス(0〜) 文字列 s=GetItem("メニュー",0)
コンポ GetCheck メニューのチェックの状態を取得
チェックが付いていればTRUEを返す
@メニューの名前
A選択肢のインデックス(0〜)
フラグ F=GetCheck( "メニュー1",3 )
コンポ SetCheck メニューのチェックの状態を設定 @メニューの名前
A選択肢のインデックス(0〜)
Bチェックを外す場合はFALSE、付ける場合はTRUE
なし SetCheck( "メニュー1",3,TRUE )
コンポ GetEnabled プレビューメニューの項目が有効ならTRUEを返す @メニューの名前
A選択肢のインデックス(0〜)または選択肢の名前
フラグ F=GetEnabled( "Pメニュー","選択肢1" )
コンポ SetEnabled メニューのチェックの状態を設定 @メニューの名前
A選択肢のインデックス(0〜)
B有効ならTRUE、無効ならFALSE
なし SetEnabled( "Pメニュー","選択肢1",TRUE )
コンポ GetVisible プレビューメニューの項目が表示されていればTRUEを返す @メニューの名前
A選択肢のインデックス(0〜)または選択肢の名前
フラグ F=GetVisible( "Pメニュー","選択肢1" )
コンポ SetVisible プレビューメニューの項目の表示状態を設定する @メニューの名前
A選択肢のインデックス(0〜)
B表示ならTRUE、非表示ならFALSE
なし SetVisible( "Pメニュー","選択肢1",TRUE )
コンポ GetSelected プレビューメニューの指定項目が選択状態ならTRUEを返す @メニューの名前
A選択肢のインデックス(0〜)または選択肢の名前
フラグ F=GetSelected( "Pメニュー","選択肢1" )
コンポ SetSelected プレビューメニューの項目の選択状態を設定する @メニューの名前
A選択肢のインデックス(0〜)または選択肢の名前
B選択するならTRUE、非選択ならFALSE
なし SetSelected( "Pメニュー","選択肢1",TRUE )
コンポ GetGroupIndex プレビューメニューの項目のグループ番号を返す @メニューの名前
A選択肢のインデックス(0〜)
整数 n=GetGroupIndex( "Pメニュー","選択肢1" )
コンポ GetProp プロパティを取得 @コンポーネント名
Aプロパティ番号
プロパティの型による n=GetProp( "img",PR_COUNT )
コンポ SetProp プロパティを設定 @コンポーネント名
Aプロパティ番号
B設定する値
なし SetProp( "img",PR_INDEX,0 )
コンポ GetCinemaProp シネマ内クリップのプロパティを取得 @コンポーネント名
Aクリップ名
Bプロパティ番号
プロパティの型による n=GetCinemaProp( "cinema","chara",COP_SOURCE )
コンポ SetCinemaProp シネマ内クリップのプロパティを設定 @コンポーネント名
Aクリップ名
Bプロパティ番号
C設定する値
なし SetCinemaProp( "cinema","chara",COP_SOURCE,"グラフィック\\人2.gal" )
コンポ InCabinet 指定された名前のコンポーネントがキャビネットの中に入っていればTRUEを返す @コンポーネント名 フラグ InCabinet("画像1")
コンポ InPrimary 指定された名前のコンポーネントが表画面にあればTRUEを返す。 @コンポーネント名 フラグ InPrimary("画像1")
コンポ IndexOfMenu 指定された文字列がメニューの項目の何番目に合致するかを返す。最初の項目なら0、2番目なら1、また合致しない場合は-1を返す @メニューの名前
A検索する文字列
整数 n=IndexOfMenu("メニュー1","選択肢3")
コンポ ListCompo コンポーネントの名前を列挙し、列挙した数を返す @名前を格納する変数
A列挙するコンポーネントの種類
LT_NONEなら全種類
B列挙するコンポーネントの[親]の名前
表画面なら""
裏画面ならBACKSURFACE
省略した場合は(または"ALL"なら)[親]に関係なく全て列挙する
CTRUEなら子を再帰的に検索(省略可・省略時=FALSE)
整数 全てのコンポーネントを列挙
ListCompo( SS )

表画面に貼り付いている全てのコンポーネントを列挙
ListCompo( SS,LT_NONE,"" )

コンポーネント"BG"に貼り付いている矩形コンポーネントを列挙
ListCompo( SS,LT_BOX,"BG" )

全てのサウンドコンポーネントを列挙
ListCompo( SS,LT_SOUND )
コンポ ToClientX スクリーン上のX座標をコンポーネントから見たX座標に変換して返す @コンポーネント名
AX座標
整数 x=ToClientX("画像1",@MouseX)
コンポ ToClientY スクリーン上のY座標をコンポーネントから見たY座標に変換して返す @コンポーネント名
AY座標
整数 y=ToClientY("画像1",@MouseY)
コンポ ToScreenX コンポーネント上のX座標をスクリーンから見たX座標に変換して返す @コンポーネント名
AX座標
整数 x=ToScreenX("画像1",@MouseX)
コンポ ToScreenY コンポーネント上のY座標をスクリーンから見たY座標に変換して返す @コンポーネント名
AY座標
整数 y=ToScreenY("画像1",@MouseY)
コンポ CreateObject 各種コンポーネントを作成する。成功ならTRUEを返す @コンポーネントの種類A名前B親の名前(省略可・省略した場合は現在の表画面) フラグ f=CreateObject(LT_BOX,"箱")
コンポ DeleteObject コンポーネントを削除する。成功ならTRUEを返す @コンポーネントの名前 フラグ f=DeleteObject("箱")
コンポ GetImeOpened 指定コンポーネントのIMEが開いていればTRUEを返す @コンポーネントの名前 フラグ f=GetImeOpened("エディット")
コンポ SetImeOpened 指定コンポーネントのIMEを開いたり閉じたりする。成功ならTRUEを返す @コンポーネントの名前
A開くならTRUE
フラグ f=SetImeOpened("エディット",TRUE)
システム Alert ダイアログメッセージを表示する @文字列 フラグ Alert("OK")
システム CopyFile メモリファイルやセーブデータをコピーする。コピー先データがすでに存在していた場合は上書きする。成功ならTRUEを返す @コピー元のファイル名
Aコピー先のファイル名
フラグ f=CopyFile("mem:__savescr.gal","save:__savescr3.gal")
システム DeleteStack 指定したコールスタックを削除し、成功ならTRUEを返す @削除するスタック番号(0〜、積み上げ順) フラグ f = DeleteStack(@StackCount-1)
システム GetDisplayMode 指定番号のディスプレイモードの情報を変数に設定する。成功ならTRUEを返す。
番号は0 〜 @DisplayModeCount-1
@番号
A幅を受け取る変数
B高さを受け取る変数
C色深度を受け取る変数
Dリフレッシュレートを受け取る変数
フラグ GetDisplayMode(0,wd,ht,bp,hz)
システム GetSaveCaption ゲームセーブデータの表題を取得 @番号 文字列 S=GetSaveCaption( n )
システム ListSaveCaption ゲームセーブデータの表題と番号を列挙し、列挙した数を返す @表題を格納する変数
A番号を格納する変数
整数 n=ListSaveCaption(SS,NO)
システム OpenUrl ブラウザでURLを開く @URL なし OpenUrl("http://www.aaa.com/")
システム SaveScreen 実行画面をファイルに保存し、成功ならTRUEを返す

※メモリファイルはソフト終了時に破棄されます(セーブ不可)

※「Save:〜」とするとセーブデータ(save.dat)の中に保存されます
@ファイル名(.GALのみ、ディレクトリ不可、メモリファイルの場合はMem:〜、セーブデータの場合はSave:〜)
Aリサンプル幅(省略可・0ならオリジナルの幅)
Bリサンプル高さ(省略可・0ならオリジナルの高さ)
C裏画面ならTRUE(省略可・省略時=FALSE)
D0=ファイルを削除しない 1=ソフト終了時にファイルを削除 2=アンインストール時にファイルを削除(省略可・省略時=0)
フラグ SaveScreen( "screen.gal" )
SaveScreen( "mem:screen.gal" )
SaveScreen( "save:screen.gal" )
システム SetWallPaper デスクトップの壁紙を設定し、成功したらTRUEを返す @ファイル名(空文字列なら現在のゲーム画面)
A位置(0:中央 1:並べる 2:拡大)
フラグ SetWallPaper("img.gal",1);
変数 AssignTemp @Temp変数に指定変数を割り当てる。成功ならTRUEを返す @変数名 フラグ n=0
AssignTemp( "n" )
@Temp=1

n==1

※日時値
1899/12/30 午前12:00を0とし、そこから1日経過するごとに1を加算した値(時間は小数部で表す)。