AHKとTRRのスクリプトの比較
AHKのスクリプトとTRRのスクリプト
ソースコード版を使うにあたって、 AHKのスクリプトと TRRのスクリプトを意識する事がでてくると思うのでこのページで取り上げておこうと思います。
AHKのスクリプトとは、本来の
AutoHotkey
のスクリプトの事です。
当然、
AutoHotkey
の本来の書式のままで使用できます。
TRRのスクリプトとは、 テキスト や、 アイテム のスクリプト内に記入するものです。
AHKのスクリプトと似た書式で使用できる様にしたものですが、あくまで似せたものであって本来の書式の様に記述できる訳ではありません。
違いについては以下のページの方で説明しています。
普通の使い方 AutoHotkeyと違うところ
細かい説明 AutoHotkeyと違うところ2
コンパイルされた
TextRunRun
では、
TRRのスクリプトしか使用できませんでしたが、
ソースコード版では、
AHKのスクリプトも使用する事になるので、これらを比較した特徴についてを挙げようと思います。
TRRのスクリプト
TRRのスクリプトのメリット
-
一行テキスト と同じ。
-
ファイルパスのみの記述でファイルを実行する。
-
アイテム を使用できる。
-
アイテム名 を # # で囲む方法を使える。
-
規定のコマンドを使える。
-
エラーになる場合、 TRR 独自のエラーを出力するだけで終わる。
ただし、対策をしていないエラーの場合は AHK によるエラーがでる。
TRRのスクリプトのデメリット
-
Loop 関係は使えない。
-
オブジェクトに関するものは使えない。
-
関数やサブルーチンを宣言できない。
-
一行では、 1 + 1 などの一つの計算はできるが、
1 + 1 + 1 などの同時の計算はできない。V_var1 := 1 + 1
V_var1 := V_var1 + 1といった記述をしていくしかない。
補足if( varName1 == True && varName2 == True ){といった事はできません。
varName3 := varName1 == True varName4 := varName2 == True if( varName3 && varName4 ){といった記述にして使う事になります。
-
遅い。簡易的なスクリプトならともかく、そうでないなら遅さを実感する事になる。
-
不安定。
-
ErrorLevel を使う処理は、 ErrorLevel_TextRunRun を使う事になる。
それを使う際の、前準備と後処理がいる。
AHKのスクリプト
AHKのスクリプトのメリット
書くまでもなく、 AHK の本来のスクリプトで記述して使える事です。
これに勝る利点はありません。
AHK
の事を詳しく知っている方なら何でも出来ます。
AHKのスクリプトのデメリット
簡単に言うと、 TRR のスクリプトのメリットと逆で、それが使えない事です。
ただし、ほとんど代替え案があります。
-
一行テキスト と違う。
補足とはいっても、全く同じ処理をさせたい場合
F_textExe( command )や
F_multiplelineExe( command )の関数を使うと テキスト と同じ指定で使える。 -
ファイルパスのみの記述でファイルを実行できない。
補足とはいっても、
Run ,の後にファイルパスを記述すれば実行できる。 -
アイテム を使用できない。
補足とはいっても、 アイテム名 を指定して使いたい場合
F_textExe( command )や
F_itemExe( command , args )の関数を使うと同じ指定で使える。 -
エラーになる場合、処理が止まる。
ただし、処理が止まる方が安全といえるかもしれません。
- ソースコード版について
- AHKとTRRのスクリプトの比較
- userPlusのフォルダ
- AHKのソフトにTRRを混ぜ込む