[AP]ハンドラ [AppleScript辞書はつくれるか?]
● ハンドラ・・・実行系、補助系、ユーザー任意と様々な形がありますが、それぞれ命令の分担分けのする書き方の事です。
(スクリプトエディタ)
run
--ダブルクリックなどで起動した場合に最初に実行されます。
--(runとend runはセットで省略可です)
end run
idle
--ダブルクリックでは即に実行されない部分ですが、returnの後の整数値
--(×秒)の間に何のアクションもなければ実行される部分です。
return x
end idle
on open Drop_items
--ドロップされたアイテムがあると実行される部分です。
end open
(Xcode)
on clicked theObject
--いずれかのオブジェクトにクリックをしたときに実行されます。
end clicked
on awake from nib theObject
--アプリケーションが実行された最初に実行されます。
end awake from nib
(ユーザー任意)
ユーザーが任意で作る事のできるハンドラで、ハンドラ名はユーザーで決定できる。
ただし付けられる名前は、変数の名前をつける時とと同じ制限があります。
on |ハンドラ名|(|変数|)
--(任意の作業スクリプトを記入)
return |返す値|
end |ハンドラ名|
ユーザーハンドラを呼び出すときは、
|ハンドラ名|(|変数|)
でよい。与える変数がなければ|変数|は省略できる。
返す値が不要であれば return |返す値|の行は不要。
スクリプトエディタで使う実行型のハンドラは、主に3つです。
○ Runハンドラ(実行型)
run
(* スクリプトが記述される部分 *)
end run
「ダブルクリック」や「開く」などで起動した場合に最初に実行されます。
Runハンドラは最も基礎的なハンドラなので ハンドラ定義部分は省略ができます。
run
display dialog "起動しました"
end run
省略できるので、
display dialog "起動しました"
と直接記述してもOK!
※ただし、他のハンドラをまたぐ記述はできません。
・
・
・
Runハンドラ
他のハンドラ
Runハンドラ
・
・
というような、1つのスクリプト内に同じハンドラが2つ以上、存在する事ができません。
これはRunハンドラに限った事ではなく、他のハンドラでも同様です。
アプリケーションで保存しても、スクリプトのままでも実行可能。
○ Idleハンドラ(常駐型)
idle
(* スクリプトが記述される部分 *)
return x -- (xは整数。省略可)
end idle
何もアクションが無い待機状態が、指定時間(省略時は1秒)空くと実行されます。(設定できる最小時間は1秒単位)
スクリプトエディターで保存する際に、「アプリケーション」を選んだ上で「自動的に終了しない」を選ばれていないと活動しません。
・1秒毎に何かを実行させたい。
・何かイベントの発生するのを監視させたい。
など
○ ドロップレット
on open Drop_items
(* スクリプトが記述される部分 *)
end open
アプリケーションとして保存すると、アイコンの形がちょっと変わっています。(アイコンの中に矢印が表示されます)
こちらは、ダブルクリック(または開く)で実行させても何も起きません。
何かの書類を作ったアイコンにドラック&ドロップして はじめて実行されます。
Drop_itemsの変数の中にドロップされたファイルの情報が入ります。
○ ユーザ任意ハンドラ
on |ハンドラ名|(|変数|)
--(任意の作業スクリプトを記入)
return |返す値|
end |ハンドラ名|
on run
yobidashi()
end run
on yobidashi()
display dialog "RUNハンドラからよびだされました"
end yobidashi
。
on run
set x to 10
set y to keisan(x, 5)
log y
end run
on keisan(a, b)
set c to a + b
return c
end keisan
コメント 0