Clues Inc.

 

 

 タッチモニター描画アプリケーションツール

Touch Operational Monitor Application Tool for embedded

 

スクリプト・リファレンス

 

Version 1.2.00

 


TOMATEスクリプト・リファレンス

アイコンの説明

コマンドの種類

文字列の取り扱い

本リファレンスの記述構成

オブジェクトプロパティ

[V] 変数の内容を表示  

(f) 変数演算  

<p> ページ移動 

bar プログレスバー表示 

bgm BGMを鳴らす 

brt バックライト輝度設定・取得 

ckb チェックボックス表示 

cmd コマンド一括実行 

dsp 文字列インジケータ 

fmt フォーマット文字列表示 

if 分岐処理 

int インターバル処理 

img 画像表示 

msg メッセージボックス表示

out テキスト出力 

pad キーパッド入力 

pro プロパティ変更 

pwd パスワード入力/設定 

rnd 乱数発生 

sel アイテム選択 (セレクタ) 

slp スリープ設定・取得 

snd 効果音を鳴らす 

swi スイッチ条件分岐 

tim 時計表示  

tms 時計設定 

var 変数呼び出し 

vol 音量設定・取得 

 

 


 

アイコンの説明

アイコン

説明

オブジェクト

ON_DISP

テキスト, アイコン

自動的に生成された説明

表示に反映されるコマンド。

必要

実行不可

アイコン

自動的に生成された説明

タッチ操作にて実行されるコマンド

必要

実行可

黒い背景に白い文字がある

中程度の精度で自動的に生成された説明

input.txt” に指定できるコマンド
TOMATE
コマンド内で指定できるコマンド

不要

-----

 

 

コマンドの種類

コマンド大別

内容

[ ]

変数の表示

< >

ページ移動

( )

変数演算

xxx{ }

TOMATEコマンド

“ “

Output.txt への出力

 

 

文字列の取り扱い

l  TOMATEコマンドは、基本的に3文字の命令文と{ }で形成される。

命令分と { の間には、空白が入ってはいけない。
例) pad{ } というコマンドで、 pad_{}のように”pad”と “{” の間に空白を入れてはならない。

l  文字列中の改行は 「\n (ASCII: 0x5C 0x6E) となる。

l  文字列と数値の区別は無く、自動で文字列と数値を判別する。
シングルクォーテーションを除く全ての文字は文字列として扱われる。
演算文の場合、右辺はシングルクォーテーション括りで「文字列」と認識される。

l  メッセージなどの表示する文字列をスクリプト内に記述する場合、そのまま記述することができる。

ただし、文字列内に括弧やカンマ、コロン等のコマンドで使用する文字列を使用する場合、シングルクォーテーションで括ることで一括した文字列として扱うことができる。
例) pad{ Filter (ms) : 0 , 1000} というコマンド記述は、タイトル欄に()が使用されているため、コンパイル時エラーとなる
   pad{Filter (ms) : 0 , 1000} とすると、’ ‘で括られたものは文字列として扱うためエラーを回避する。

l  変数名・ページ名には、コマンドで使用される記号を使用することはできない。

l  ‘ ‘で括られた文字列中でも、シングルクォーテーション・カンマを使用することはできない。

l  全ての文字列には カンマを使用することはできない。

 

 

本リファレンスの記述構成

コマンド記述内容

内容説明

l  注意事項

記述例

 


 

オブジェクトプロパティ

Tomateで作成されたオブジェクトには、以下のプロパティが付加される。

プロパティ名

内容

pro{}
変更可能

ID

オブジェクトのID

X

X-position  オブジェクトのX座標位置

Y

Y-position  オブジェクトのY座標位置

W

Width  オブジェクトの横ピクセル

*1

H

Height オブジェクトの縦ピクセル

*1

V

Visible オブジェクトの表示・非表示フラグ
 0
で非表示

B

Blink オブジェクトの点滅間隔フラグ(x1ms時間)
0
で非点滅

P

Press キーの長押し時間 (正数x1ms)
または リピート間隔 (負数x1ms)

S

Sound タッチ音(音源の登録番号)
0
で無音

LC

Line Color オブジェクトの線色

*2

PC

Paint Color オブジェクトの塗色

*2

SCRIPT

スクリプト

 

*1 dsp{} / img{} / bar{} を定義するオブジェクトのみ

*2 bar{} , dsp{} を定義するオブジェクトのみ

 

l  プロパティPは、 正の値でロングプレス時間、負の値でリピート時間となる。

使用例はpro{ }コマンドを参照のこと

 


 

[V] 変数の内容を表示   表示に反映されるコマンド

[Variable ]

オブジェクトに変数の値を表示する。

[variable ]        対象の図形オブジェクトに変数内容を表示

l  変数は中括弧 [ ] で括る。

l  変数名はTOMATEの変数リストで設定されたものに限る。

l  TOMATEアプリで指定されたフォントで表示される。

[num]   num”という変数の内容をオブジェクトに表示

 


 

(f) 変数演算   タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

( Formula : Lower|[V], Upper|[V] )

丸括弧()で括られた式を演算する。

Formula                  変数 式 値

       変数                     変数名  ※変数には[]無くても可

                              代入・演算は、右辺から左辺へ代入される。

内容

代入

=

加算

+=

減算

-=

乗算

*=

除算

/=

余算

%=

 

                                 比較は、左辺と右辺の比較結果の真(=1)・偽(=0)が得られる。

内容

同値

==

以外

!=

未満

< 

超過

> 

以下

<=

以上

>=

 

                               数値または [変数]  ※ 変数には[]必要

Lower|[V]               下限   演算結果数値の下限値 []変数も可 (省略可)

Upper|[V]                上限   演算結果数値の上限値 []変数も可 (省略可)

値が文字列の場合、上限文字数となる

  Lower, Upperを1つだけ指定した場合の動作

内容

Lower

Upper

代入

=

 

加算

+=

 

減算

-=

 

乗算

*=

 

除算

/=

 

余算

%=

 

 

 

l  演算式は丸括弧()で括る。 演算は、代入演算のみとなる。

l  変数と値が「数値」のときは、数値演算となる。

l  小数点の表示は、使用変数または実数の小数点桁数に依存する。

l  表示値未満の端数処理は「偶数丸め」となる。
(小数点なしの場合、偶数+0.5なら「切り捨て」、奇数+0.5なら「切り上げ」)

l  数値を ’ ’で括ることにより文字列として扱う。

l  どちらかが「文字列」の場合、文字列追記または削除となる。(文字列に *=, /=, %= は不可)

l  if{ }swi{ }構文で使用される式で、比較の場合は ’1’または’0’が戻り値となり、代入・演算の場合、左辺の変数内容が戻り値となる。

l  >, >=, <, <= 比較の場合、浮動小数点型に変換されて比較されるため、左右辺とも数値でなくてはならない。 ==, != 演算子は文字列のまま比較される。

(var=100)                 var100を代入

(var+=1:0,3)             var=var+1 上限3を超えたら0となりループ

(var+=1:10)              var=var+1  10以上は10を保持
(var-=1:0)                 var=var-1  0
以下は0を保持

(var-=1:[a],[b])       var=var-10 ([a]以下は[b]となる)

var=[str]               変数varに変数 strの内容をコピー

(str=ABC)                 strは文字列ABC

(str+=DEF)               文字列str末尾に文字列DEFを追記

num+=’2’              numの末尾に文字列として2を追記

(str-=’’)                   str の末尾から1文字削除 (’’内文字は無視される)

(str+=’A’:10)     str の末尾に’A’文字追加 (11文字以上は追加されない)

if{ (a > 10) : (a=0) }         a10を超えたら0とする

if{ (str==OK) : <@next> }        str’OK’なら次ページへ

 
 

 

<p> ページ移動    タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

<page | [V] : 1 >

指定ページへ移動する。

<page>           ページ名pageへ移動 (変数も可)

<@next>        次ページ移動 (TOMATEでのページ順)

<@prev>        前ページ移動 (TOMATEでのページ順)

<@back>       直前のページへ戻る

<page:1>       現在ページに重ねてpageを表示(現在ページはpageとなる)

 <@get>           現在のページ名を取得 (output.txtに現在のページ名を出力)

l  ページ指定は、< >で括る

l  ページ移動が記載されたオブジェクトをタッチすると指定されたページが表示される。

l  ページが移動されたとき、ページのON_DISPに記載されているスクリプトが実行される。

l  <@get>コマンドはver1.03以降で適用となる

Tomateでページ名が ‘1, 2, 3’と順に指定されている場合

<1>                 ページ「1」へ移動

<@next>        次のページ「2」へ

<3:1>             現在の「2」ページに「3」 という名称のページを重ねて表示

<@prev>        「3」の前のページ「2」を表示

<@back>       直前のページ「3」を表示 (現在ページには重ならず表示)

<[var]>        変数[var]に格納されているページ名へ移動

<@get>        現在のページ名がoutput.txtへ ‘< >’で括られて出力される
                       
(現在のページ名が ‘1’なら ‘<1>’ と出力)

 

 


bar プログレスバー表示       表示に反映されるコマンド

bar{ [V] : Max |[V] : H|V }

プログレスバーを表示する。

[V]                  進捗値を格納する変数名 (必須)

Max|[V]          最大値 変数可 (最小値は 0 固定)

                      負数指定可 (最小値が負数となり最大値は0固定) * v1.2以降

H|V                 プログレスバーの向き(省略可)

                            H=横向き(左→右)に進捗 (負数の場合 右→左に進捗)

                      V’=縦向き(下→上)に進捗 (負数の場合 上→下に進捗)

l  向きを省略した場合、横向きとなる。

l  バーの大きさ、位置、色はTomateツールで指定した内容が反映される。

l  最大値に負数を指定した場合、左(下)が最小値となり、0が最大値となり、変数を減算していくことにより、正数と逆方向の進捗動作となる。 (v1.2以降対応)

bar{ [i] : 100 }

上限100として、[i]の値に対応して横向きのプログレスバーを表示

bar{[num] : 255 : V}

   上限255として、[num]の値に対応して縦向きのプログレスバーを表示

bar{[temp] : -60 : V}

   上限0 下限-60として、[num]の値に対応して縦向きのプログレスバーを表示

0が最大で空表示、以降[num]をマイナスしていくとバーが下方向へ進捗する。

 

 

 


 

bgm BGMを鳴らす      タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

bgm{ file | No | [V], cmd : volume }

BGM登録リストやファイル名からBGMを鳴らす。

file                 カレントフォルダにあるファイル名
                         
  Raspberry Pi : home/ユーザ/Tomate/

                       Windows: “プロジェクト名.exe”があるフォルダ

No                   または Tomateに登録したBGMリスト番号 または [変数]

cmd                0=停止  399=指定回数再生  -1=連続ループ再生
                          100
以上=フェードアウト停止(値がフェード時間(1ms)となる)

volume           音量 0100 (省略可)

l  使用できるサウンド形式は “.wav”, “.mp3”, “.mid”形式となる。

l  cmdを省略した場合、BGM1回再生となる。

l  指定回数再生は3回からとなる。(2を指定した場合1回のみ再生される)

l  Volumeは、現在のシステム音量に対する相対音量となる。
(システム音量=80%,  指定音量=50%の場合、再生音量はシステム音量の40%となる)

l  Volumeを省略した場合、現在のシステム音量で再生される。

l  BGM再生中に新たに再生命令を実行すると、前曲を中断し再生する。

l  停止コマンド(cmd=0)時、“file | No | [V]” は無視される。

bgm{ 1,-1 : 50 }

       音源リスト1番目の音源を50%音量でループ再生 

bgm{ sound.mp3, 3 }

       カレントフォルダのsound.mp3を現在音量で3回再生

bgm{ 1 , 3000 }

         現在再生中のBGM3秒でフェードアウト停止

 

 

 

brt バックライト輝度設定・取得  タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

brt{ Value | [V] : @get }

バックライトの明るさを設定する

Value|[V]                  明るさ 0255 または [変数]

@get                          現在の明るさを取得(省略可)

l  範囲外および数値以外は無視される。

l  @getを指定する場合は、必ず変数を指定する。

l  スリープ中にbrt{ }コマンドを入力すると、スリープを解除する。

l  設定値はカレントパスに記憶される。

brt{ 50 }                    輝度を50に設定

brt{[V]                     輝度を変数[V]の値に設定

brt{[V]:@get}          現在の輝度を変数[V]に取得

brt{ }                         スリープ時に現在の輝度でスリープ解除

 

 

 


 

ckb チェックボックス表示     表示に反映されるコマンドタッチ操作にて実行されるコマンド

ckb{ [var ] : strings : mark0, mark1}

チェックボックスを表示する。

[var]      チェック値を格納する変数

strings  表示する文字列

mark0    チェック無しマークの文字(省略可)

mark1    チェック有りマークの文字(省略可)

l  オブジェクトをクリックすると、チェック有⇔チェック無 が切り替わる。 

l  指定された変数に、チェック有りのとき1を、チェック無のとき0が格納される。

l  mark文字省略時のチェックボックス文字
チェック無し(var=0)  □ (Unicode:25A1)
チェック有り(var0)  (Unicode2611

l  チェックボックスのフォントは、描画時のフォントに依存する。

ckb{ [var] : }

  チェックボックスのみ表示

ckb{ [var] : オプション }

オブジェクト上に “□ オプション” と表示し、タッチするとチェックボックスを切替

タッチごとに、変数varの内容を0 or 1に書き換える

ckb{ [var] : 次回から表示しない:□,■ }

 “□ 次回から表示しない” と表示し、タッチすると■に変化

ckb{ [var] : : OFF, O N }

変数[var]の値に対応し「OFF」・「O N」と表示

 

 


 

cmd コマンド一括実行   タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

cmd{ cmd1 : cmd2 : ・・・ : cmdN }

コマンドを一括で実行する。

md1                1つめのコマンド

cmd2               2つめのコマンド

cmdN               N個目のコマンド

l  コマンドは コロン : で区切る。

cmd{ (a+=1) : (b+=1) : (c-=10) : (d*=10) }

演算式を一括でまとめる

if{ (V==0) : cmd{(a+=1):(b+=1)} : cmd{(c=10):(d=10)} }

    if文でコマンドを一括にまとめている例

 

 


 

dsp 文字列インジケータ(表示板)  表示に反映されるコマンド

dsp{ [var] : N=strN, fcolN, bcolN : }

指定された配色で文字列を表示する。 

表示は変数で指定されている値と同一のものを表示する。

[var]              値を格納する変数

N                    対応する値 ( * でelse

strN               対応する表示文字列 (変数指定可能)

fcolN             文字の色 (省略可)

bcolN            背景色 (省略可)

l  Tomateで指定したオブジェクトに、var変数の値に対応する文字列strfcol, bcolの指定色で表示する。

l  色の表記は、RGB色番号 #000000 #FFFFFF 形式 または、 black, white, blue などのカラー名表記も可能。

l  文字色、背景色を省略した場合、ページの文字色、塗色となる。

l  表示文字列には、[]で括られた変数を指定可能。(Ver1.01以降)

dsp{ [val] : *=, black : 1=, red : 2=, blue : 3=, white, gray }

   val=1のとき赤文字で「赤」、 val=2のとき青文字で「青」、 val=3のとき灰地に白文字で「白」と表示され、 それ以外は 黒文字で「黒」と表示する。

  dsp{ [val] : *=ITEM0,#000000,#FFFFFF : 1=ITEM1,#FFFFFF,#FF0000        : 2=ITEM3,#FFFFFF,#0080FF }

色表記をRGB番号で指定した場合の例

dsp{ [i] : 0=[name0]: 1=[name1],white, red : *=[name2],white, blue }

   表示文字列に変数を指定した例

 

 

fmt フォーマット文字列表示   表示に反映されるコマンド

fmt{ string including [var]  }

文字列を表示する。 

 [var] を記述することにより、変数の内容を表示可能。

string            任意文字列

[var]              任意の変数

l  オブジェクトに、[var] 変数の内容を含む文字列を表示する。

l  表示文字列には、複数の[var]を記述可能。

l  文字列内のシングルクォーテーション ’ ‘ は無視される。

l  文字列内には、変数指定以外の [ ] 文字は使用できない。

l  TOMATE v1.2〜対応

前提 (month=8) : (season=)

fmt{ 今月は[month]月で、季節は[season]です。}

オブジェクトに 「今月は8月で、季節は夏です。」と表示される。

前提 (temp=28) : (humi=50)

 fmt{ 温度 [temp] ℃\n湿度 [humi] }

   オブジェクトに 「温度 28 ℃」 (改行) 「湿度 50 %」と2行で表示される。

 


 

if 分岐処理            タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

if{ (formula ) : True-cmd : False-cmd }

比較演算の結果により分岐処理を行う。

(formula)                 右辺 【比較式 ==, !=, >, <, >=, <=】 左辺

                                   複数の比較式には &(and), | (or)を使用可能

True-cmd                 比較が真の時 実行されるコマンド

False-cmd               比較が偽の時 実行されるコマンド(省略可)

l  比較式は2項(左辺 【式】 右辺)のみの形式となる。

l  左辺は変数のみで、変数記号[ ] は省略できる。

l  右辺の変数[ ]は必要。(省略した場合文字列扱いとなる。)

l  >, >=, <, <= 比較の場合、変数値は浮動小数点型に変換されて比較される。
==, !=
は文字列のまま比較される。

if{ (var==1) : <@next> }

if{ (var==1) : msg{varは真です} : msg{varは偽です} }

if{ (v1<[v2] & v3<[v4]) : msg{真です。} : msg{偽です。} }

if{ (v1>=[v2] | v3>=[v4] | v5>=[v6]) : msg{真です。} : msg{偽です。} }

 

 

 


 

int インターバル処理     タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

int{ time : cmd }

指定時間間隔で処理を実行する。

time     インターバル時間 (x1ms

cmd     コマンド

l  インターバル処理は全画面共通で1つのみとなる。

l  ページが切り替わるとインターバル処理は停止する。

int{ 1000 : (tm+=1) }

1秒間隔で変数[tm]を+1する。

 

 


 

img 画像表示        表示に反映されるコマンド

img{ file | list-No | [V] | (f) }

描画オブジェクトの枠範囲に指定イメージを表示する。

file                 カレントフォルダにあるファイル名
                 
          Raspberry Pi : home/ユーザ/Tomate/

                       Windows: “プロジェクト名.exe”があるフォルダ

list-No            または、Tomateのイメージリストに登録されたイメージ番号

[V]|(f)            または [変数] (演算式)

l  画像の大きさは、元画像の比率を保って、オブジェクト枠の W,H 比率に自動的に拡大縮小される。

img{ image.jpg }

       カレントフォルダのimage.jpgをオブジェクト枠に表示

img{1}

       登録されたイメージリストの1番目のイメージをオブジェクト枠に表示

img{ [num] }

       登録されたイメージリストの変数[num]番目のイメージをオブジェクト枠に表示

 

 

 

msg メッセージボックス表示 タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

msg{ Message : Btn1=Cmd1, Btn2=Cmd2, Btn3=Cmd3 :@wait=millisecond }

メッセージボックスを表示する。

Message         表示するメッセージ

                      メッセージ内に [変数] を使用可能 (v1.2以降対応)

Btn13          ボタン#に表示する文字 (省略可)

Cmd13         ボタン#を押したときに実行するコマンド (省略可)

@wait             メッセージボックスを自動消去する時間x1ms単位 (省略可)

l  Message文は \n(ASCII:0x5C,0x6E)文字で改行できる。

l  Cmd#を省略すると、ボタンだけが表示される。

l  Btnを省略するとOKボタンが自動的に付加される。

l  @wait指定時のBtn省略はボタン非表示となる。

l  ボタンが押されるとメッセージボックスは閉じられる。

l  Message文字列内に複数の [変数] を挿入可能で、変数の値に置き換えられる。 ただし、変数指定以外の ‘[‘または’]’が入っている場合、変数置換は実行されない。(v1.2以降)

msg{ 設定を変更しました。}

       OKボタンが自動で付く

msg{ ファイルを削除して\nよろしいですか?: はい=”REMOVE” , いいえ }

      メッセージとともに「はい」・「いいえ」ボタンが表示され、「はい」を押すと output.txt       へ ’REMOVE’文字列を出力

msg{ パスワードが違います。: @wait=3000 }

     メッセージを表示し、3000ms(3秒)経過で自動消去

msg{ エラーが発生しました。\n[errmsg]\n[errno] : 確認}

     「エラーが発生しました。」とともに、変数[errmsg][errno]の値を表示し、「確認」ボタンを表示

 

 


 

out テキスト出力    タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

out{ strings | [V] | @clr }

strings

output.txt】 へ指定した文字列を出力する。

strings           指定文字列を出力

[V]                  変数内容を出力

@clr                output.txtの内容をクリア

l  固定文字列であれば,単にダブルクォーテーション““で括っても良い

l  Scriptに記述すると、該当オブジェクトがタッチされるごとに、指定文字列を output.txt へ書き込む

l  ユーザープログラム等にて、この文字列を読み込み、どのオブジェクトがタッチされているか等を判別することができる。

“Hello”                      Hello」 を output.txt へ追記

out{ [var] }              変数[var]の内容を output.txt へ追記

out{ @clr }               output.txt の内容をクリアする

 

 


 

pad キーパッド入力      タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

[var] : pad{Title : Min, Max, Digit : Cmd }

pad{ [var] : Title : Min, Max, Digit : Cmd }

数値や文字を入力するためのキーパッドを表示する。

[var]               設定対象となる変数名(外に書くと値表示、内部に書くと非表示)

Title                キーパッド上に表示するメッセージ

Min                 設定対象が数値の場合の最小値 (省略可)

Max                設定対象が数値の場合の最大値 (省略可)

Digit               小数点・符号を含む入力可能最大桁数 (省略可)

Cd               設定後に実行するコマンド (省略可)

l  Min, Maxが設定されている場合、Titleに最小〜最大値が追記される。

l  Min, Maxを省略した場合、文字列指定となる。(IPTELに使用可能)

l  Min, Max, Digit項目が1つだけの場合、Digit指定となり文字列入力となる。

l  Min, Maxが指定されている場合、入力可能小数点桁はMinの小数点桁となる。

l  Digitが設定されている場合で、指定桁を超える入力があった場合、入力を受け付けない。

l  Min, Max, Digitが指定されていない場合、最大入力桁は16桁となる。

[num] : pad{数値を入力 : 0,9999 }

[num]が表示されたオブジェクトをタッチすると、タイトルが「数値を入力(0-9999)」のキーパッドを表示し、入力された値09999を 変数numに代入し、オブジェクト上に変更された値が表示される。

[num] : pad{数値を入力 : 0.001, 9999, 5}

0.0019999の範囲で小数点含め5桁までの入力を受け付ける。

pad{ [str] : IPアドレスを入力 : 15 : msg{IPアドレスを変更しました。} }

  オブジェクトをタッチすると、キーパッドを表示し、上限15文字までの入力された値を、文字列として変数strに代入、オブジェクト上には値は表示されない。(文字列指定ではピリオド,ハイフンを複数入力可能) ENT入力後、「IPアドレスを変更しました。」というメッセージを表示

 

 


 

pro プロパティ変更      タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

pro{ page, ID, prop, val|[V]|() }

オブジェクトのプロパティを変更する。

page                       ページ名 (‘@’で自ページ)

ID                            ページ内の部品ID

prop                        部品のプロパティ (X, Y, W, H, V, B, P, Script

value|[V]|()          プロパティ値または変数または比較演算式

l  演算式は比較式にのみ限るTrue=1,False=0’となる
+=,-=などの演算式は常にTrueとなる)

l  本コマンドで変更できるプロパティは「オブジェクトプロパティ」を参照のこと。

pro{ page1, IMG_001, V, 0 }

page1IMG_001 V (VISIBLE)を 0(消去)する

pro{ @, BOX, V, (val==0) }

  自ページのBOXオブジェクト表示に (val==0)の結果を設定

 

 

 


 

pwd パスワード入力/設定    タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

pwd{ [var ] |pass : Title | @setup : Cmd1 : Cmd2 }

パスワード入力するためのキーパッドを表示する。

[var] | pass              パスワードを格納した変数 または パスワード値

Title | @setup          キーパッド上に表示するメッセージ、またはパスワード設定

Cmd1                         一致時に実行するコマンド

Cmd2                        不一致時に実行するコマンド

l  Titleを 「@setup」 とすることでパスワード設定となり、2回パスワードを入力して設定する。 (パスワード設定は変数必須)

l  パスワード設定でのTitle欄は、「部品編集」の「キーパッド」で登録されているPWD1,PWD2のメッセージが、それぞれ1回目と2回目に表示される。

l  パスワードの入力可能桁数は最大16文字となる。

pwd{ [pass] : パスワードを入力 : <@next> : msg{ Wrong code! } }

  入力された値が、変数[pass]の値と一致で次ページ、不一致でメッセージ表示

pwd{ 1234 : Enter the code : <page> : snd{4} }

入力された値が、1234と一致でpage移動、不一致でサウンド鳴動

【パスワード変更例】

pwd{ [pass] : @setup : msg{パスワードを変更しました。}
       : msg{
入力が異なります。\n再度実行してください。} }

 パスワードを2回入力し、2つが合っていたら 変数[pass]へ格納

 

 


 

rnd 乱数発生        タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

rnd{ [V] : min, max : seed }

乱数を発生させる。

[V]                  乱数を格納する変数

min                  乱数の下限

max                 乱数の上限

seed               乱数のシード値 (省略可)

l  一度seed値を設定すれば、以後発生される乱数は設定したseed値が基準となる。

rnd{ [num] : 1, 1000 }

11000の範囲で乱数を発生させ、[num]に格納

rnd{ [num] : 1, 1000 : 365 }

シード値365にて設定する。

 

 

 

sel アイテム選択 (セレクタ)  タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

[val] : sel{ Title : n0=dsp0, n1=dsp1, : Cmd }

sel{ [val] :Title : n0=dsp0, n1=dsp1, : Cmd }

アイテムを選択するセレクタツールを表示する。

[var]                選択されたアイテムの値を格納する変数
                           
(外に書くと値表示、内部に書くと非表示)

Title                 セレクタツール上に表示するメッセージ

n#=                 アイテム#の値(省略可)

dsp#               アイテム#の表示名

Cmd                選択後の実行コマンド(省略可)

l  dsp文字列がセレクタのアイテム欄に表示され、選択されると、そのアイテムに対応した値が変数[var]へ格納される。

l  変数をコマンドの外側に記述した場合、値に対応した表示名が表示される。

l  表示名に対応する値は数値でも文字列でも良い。

l  アイテム数が、セレクタの1ページの表示アイテム数を上回る場合、セレクタ上にページ切替ボタンが自動表示される。

l  アイテム番号を省略すると0〜の連番数値が自動で付加される。

l  選択キャンセル(枠の外をタッチ)された場合、実行コマンドは実行されない。

[var]: sel{地域を選択: 0=指定なし, 1=北海道, 2=東北, 3=関東, 4=中部,
5=
近畿, 6=中国, 7=四国, 8=九州 }

  対象オブジェクトには選択された地域名が表示され、varには番号が格納される。

sel{[var] : 性別を選択 : 選択なし, 男性, 女性 }

  0=選択なし, 1=男性, 2=女性 として選択された番号がvarに格納される。
オブジェクトに性別は表示されない。

sel{ [x] : 数値を選択 : 1,2,3,4,5 : <@next> }

   1・2・3・4・5が選択項目として表示され、選択された場合次ページへ移動する。  項目が選択された場合、変数[x]に格納されるのは0〜4となる。

 

 


 

slp スリープ設定・取得   タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

slp{ Second | [V] : @get }

無操作時のバックライトの自動消灯(スリープ)時間を設定する

Second|[V]               自動消灯時間(秒) または [変数]

@get                          現在の設定値を[変数]へ取得

l  時間に0を指定することで、自動消灯をしなくなる。

l  時間は、数値以外は無視される。

l  画面をタッチするか、brt{}コマンドで、スリープ状態は解除される。
このとき、自動消灯までのタイマーはリセットされる。

l  @getを指定する場合は、必ず変数を指定する。

l  設定値はカレントパスに記憶される。

l  自動消灯が実行されると画面はブラックアウトされる。 (ver1.2以降)

slp{ 900 }                 自動消灯時間を15分に設定
slp{ [V] }                 
自動消灯時間を変数[V]の値に設定

slp{ [V] : @get }      現在の消灯設定時間を変数[V]へ格納

 

 


 

snd 効果音を鳴らす      タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

snd{ file | No | [V], loop : volume }

効果音登録リストやファイル名から効果音を鳴らす。

file                 カレントフォルダにあるファイル名
                         
  Raspberry Pi : home/ユーザ/Tomate/

                       Windows: “プロジェクト名.exe”があるフォルダ

No                   または Tomateに登録した音源リスト番号 または [変数]

loop                ループ回数 010回 (省略可)

volume           音量 0100 (省略可)

l  使用できるサウンド形式は “.wav”形式のみ。
Windowsでの実行時は".mp3”も使用可能)

l  loopを省略した場合、1回再生される。

l  loop0と指定した場合、効果音の再生を停止する。

l  Volumeは、現在のシステム音量に対する相対音量となる。
(システム音量=80%, 指定音量=50%の場合、再生音量はシステム音量の40%となる)

l  Volumeを省略した時は、現在の設定音量で再生される。

snd{ 1 }

       音源リスト1番目の音源を1回再生 (音量は現在値)

snd{ beep.wav, 2 : 100 }

       カレントフォルダのbeep.wavを音量100%2回鳴動

 

 

 

 

swi スイッチ条件分岐  タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

swi{ [var]|(f) : V=cmd : : VN=cmdN : @=dflt }

変数 varの値と比較し、switchcase条件分岐する。

[var]|(f)         比較する値を格納する変数または演算式
V=   
          数値や文字列などの比較値 (定数のみ)(省略可)

cmd               一致した場合のコマンド・式

*=dflt      デフォルト指定時のコマンド(省略可)

l  変数[var]と比較値が一致したコマンドを実行する。

l  比較値‘V=’は省略可能で、省略した場合、0〜の連番が自動で割り振られる

l  比較値は数値でも文字列でも良い。

l  TOMATE v1.02.0〜対応

swi{ [i] : 1=(str=A) : 2=(str=B) : 3=(str=C) : *=(str=’ ‘) }

  変数iの内容が1のときA,2のときB,3のときC,それ以外は空白が変数strに格納

swi{ [i] : *=(str=’ ‘) : (str=A) : (str=B) : (str=C) }

  上記の比較値を省略したもの。*=0またはそれ以外、以降1〜の連番が指定される。

swi{ (s) : =(i=4) : =(i=7) : =(i=9) : =(i=11) }

変数sの内容が対応文字列のとき変数iに値をセットする。

 

 

 

tim 時計表示         表示に反映されるコマンド

tim{ format }

オブジェクトに時計を表示する。

format              yr/mo/dy hr:mi:sc など

                         yr      西暦年

                         mo   

                         dy    

                         hr     

                         mi    

                         sc    

                         wk    週 (v1.2以降)

l  Tomateで描画したオブジェクト上に時計が表示される。

l  yr, mo, dy などの文字列が内蔵時計の値に書き換わる

l  日付はゼロサプレス、時刻はゼロパディングとなる。

l  wk Mon, Tue Sun 表記となる。 (v1.2以降)

im{ yrmody hrmisc }

         西暦・日付・時刻表示

im{ hr : mi : sc }

         時刻のみ表示

im{ yr/mo/dy (wk) }

         西暦// (曜日) と 表示 【例:2025/08/22 (Fri)

 

 


 

tms 時計設定       タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

tms{ yr=num | [V1], mo=num | [V2], , sc=num | [V] }

tms{ yr=[V1], mo=[V2], , sc=[V] : @get }

現在時刻を設定/取得する。

Format             yr : 西暦年  mo : 月  d : 日  hr : 時  mi : 分  sc : 秒

                        wk : 曜日 (v1.2以降)

num | [V]         設定する数値 または 変数

@get                変数[V]に時間を取得

l  Windowsシステムでは時計の変更はできない。

l  Raspberry Piはオンライン状態の場合、ネットワーク経由で時間を取得するため、
時間を変更することはできない。 オフライン状態で変更可能。

l  @getを付けた場合、必ず変数を指定する。

l  曜日(wk) 0=月曜日 1=火曜日 2=水曜日…6=日曜日となる。

ms{ yr=2022, mo=10, dy=22,  hr=12, mi=34, sc=00 }

         西暦・日付・時刻を ‘2022/10/22 12:34:00’に設定する

 ms{ hr=[hour], mi=[minute], sc=[sec] }
        現在時刻を、変数の値に設定する

ms{ yr=[Y], mo=[M], dy=[D],  hr=[h], mi=[m], sc=[s] : @get }

        現在時間を、変数に格納する

ms{ hr=[h], mi=[m], sc=[s] : @get }

       現在時刻のみを、変数に格納する

 

 

 


 

var 変数呼び出し   タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

var{ V1, V2, ・・・ , Vn : Flag }

指定された変数の内容を output.txt へ出力する。

V1           1つめの変数名

V           2つめの変数名

Vn           n個目の変数名

Flag        :flagを指定すると”変数名=”で出力される(省略可)

l  カンマで区切り、複数の変数をまとめて指定できる。

l  指定された変数の内容は、{ } で括られて、指定された順に、カンマ区切りで output.txt に出力される。

l  文字列の改行は 文字列 「\n」 として付加される。

l  :Flag”指定は、コロンと文字列があればよく、Flagの内容は無視される。

var{ a, b, msg, str }

戻り値(output.txt)→ { 10, 5, Hello!\nWorld, Apple }

var{ a, b, msg, str :1 }

  戻り値(output.txt)→ { a=10, b=5, msg=Hello!\nWorld, str=Apple }

 

 


 

vol 音量設定・取得        タッチ操作にて実行されるコマンドinput.txt にて実行されるコマンド

vol{ Value | [V] : @get }

システム音量を設定する

Value|[V]                  設定する音量 0100 または [変数]

@get                          現在の音量を変数[V]へ格納 (省略可)

l  snd, bgmコマンドは、この音量を基準に再生される。

l  再生中の音量変更はできない。

l  @getを指定する場合は、必ず変数を指定する。

l  設定値はカレントパスに記憶される。

vol{ 50 }                    音量を50%に設定

vol{ [V] }                  音量を変数[V]の値に設定

vol{ [V] : @get }      現在設定されている音量を[V]へ格納

 


 

 

 

 

 

改訂履歴

Copyright© 2022-  Clues Inc.  https://clues.jp

許可無き複製、転載は禁止します。