メニュープログラムの編集を利用することで、状況に応じた操作の再生を行うプログラムを作成することができます。複数の操作記録や条件を組み合わせて、より長時間の操作や、再現性の高い操作を作成して利用できます。記録の管理画面でプログラムの項目(黄色ラベルボタン)をタップするか、あるいはプログラム作成ボタンを押すことで、プログラムの編集画面が開きます。返し設定、プレビューをそれぞれ開くことができます。↓プログラムのリスト表示プログラムは操作記録や条件など複数の項目が並ぶリストとして表示されます。選択チェックボックスが含まれます。#プログラム番号プログラムは1.番から順に実行されます。ループ条件の範囲や、条件による行き先もプログラム番号で示されます。タップすることで、スキップ状態やブックマークを切り替えることができます(後述)。再生プロセスの通知がONの場合には、再生時にラベルが表示されます。ラベルが空の場合、その項目のポップアップ通知は表示されません。タップすることで項目に応じた設定画面が開きます。ON時)と、右上に再生マークが表示されます。条件・制御の場合は、項目に応じたアイコンや、設定内容に関するアプリアイコン、また画像認識の場合は認識する画像が表示されます。ONの場合は、アイコン右上にオレンジの待機アイコンが表示されます。タップすることで、軌跡を編集画面(操作記録の場合)、設定画面(条件・制御の場合)が開きます。後述)が設定されている場合は、アイコンの左下/右下に該当するマークが表示されます。指定されている場合、マークは省略されます。タイムアウト時間、その他設定の概要が表示されます。項目の再生順を調整する場合は、この部分を長押ししてから上下にドラッグすることで、項目の順序を変更できます。対象とする項目はチェックをONにしてからメニューを選択します。項目を追加する際には、チェック項目の位置に応じて項目が追加されます。現在のプログラムに別の操作記録を追加する場合は、右上または下部[+]ボタンを押して記録を追加します。このとき、チェックされた項目が存在する場合は、その直前の位置に記録が追加されます。追加された項目は独立しており、編集や削除は元の記録やプログラムに影響しません。記録の数が多い場合は、選択のためのフィルタが表示されます。追加する記録の種類を選択できます。標準では通常の記録およびプログラムが表示されます。明示的に関数を指定することで、関数も追加できます(※)。タップすることで追加する記録のアプリを編集中のプログラムと同じアプリに絞り込みます。入力した文字列を含む記録のみに絞り込みます。右端のボタンを押すことで直前のフィルタ条件を呼び出すことができます。※関数を追加した場合も、独立した項目として追加されるため、追加後の項目の編集や、元の関数の編集はお互いに影響しません。操作記録項目のラベルボタン(灰)を押すことで、設定パネルが現れます。操作のプレビューや編集を行う場合は、アイコンを押して軌跡を編集パネルを開きます。操作開始前の待ち時間。右側のボタンを押すとリセットされます。ONの場合、待機中にマニュアル制御パネルが表示され、任意のタイミングで待機を省略または延長できます。実行後の移動先を指定。再生に条件や制御を加える場合は、右上または下部[+]ボタンを押して追加する項目を選択します。ここでは、それぞれの機能と個別の設定を紹介します。共通の設定項目については次節を参照してください。▼関数呼び出しあらかじめ保存しておいた関数(プロシージャ)を1つの項目として呼び出すことができます。タブに保存され、他のプログラムからも呼び出すことができます。項目をチェックされた項目の最初と最後を囲むように追加します。チェックがない場合は末尾に追加されます。ループでは永久ループ(∞)または指定した回数だけ繰り返しを行います。囲まれた項目は、#プログラム番号をタップして折り畳むことができます。折り畳まれた状態で、移動や内容の一括チェック、削除を行えます。ループ開始と終了部分で別々のラベルを指定する場合は、ラベル指定欄の右アイコンをタップしてリンクを解除してください。指定した秒数だけ待ちます。(秒)▼アプリ待ち設定したアプリ情報と、実行中のアプリ情報が一致するまで待ちます。デフォルトでは1秒間隔で6回判定を行い、最大で5秒待ちます。(より厳密)▼画面向き設定した画面の向きと、再生中の画面の向きが一致するまで待ちます。デフォルトでは1秒間隔で6回判定を行い、最大で5秒待ちます。現在のスクリーンショットと、指定した画像の領域が一致するまで、または指定した画像を含む領域が見つかるまで待ちます。デフォルトでは10秒間、スクリーンショットの撮影と判定を繰り返します。bmpまたはpng形式のファイルからスクリーンショットを選択(※)※画像ファイルはスクリーンサイズと同一である必要があります。画像の向きを指定する必要があります。認識範囲の大きさを調整。2点タッチの開始位置によって幅のみ/高さのみ調整できます。※マスク領域は画像認識には使用されない部分です。用)設定されている範囲とマスクはそのまま、認識させる画像の内容を再生時点のファイル(スクリーンショット画像ファイル)に差し替えることができます(後述)。新しくスクリーンショットを撮影して判定。OFFにした場合、直前のスクリーンショット(他の画像認識項目やスクリーンショット項目で撮影されたもの)に対して1度だけ判定を行います。ボタンを押すことで、現在の設定を別のスクリーンショット画像に対してテストできます。ファイルリストからディレクトリを選択することで複数の画像を一括テストできます。ボタンから、各種条件はそのままに参照する画像や範囲を変更できます。ファイル参照機能(要アンロックキー)について[ファイル参照]ボタンから画像ファイルを指定することで、設定されている範囲とマスクはそのまま、画像の内容を差し替えることができます。別途配置したスクリーンショット撮影項目で撮影したファイルを使用することで、再生中に画面が変化したかどうかなどを判定できます。同一ファイル上書きを行うことで、同じファイル名の画像が更新されます。ファイルが存在しない場合や読み込みに失敗した場合は、元の(画像認識項目で使用した)画像が判定に使用されます。▼アプリ起動この項目の再生時に、指定したアプリまたはショートカットをFRepから起動します。▼アプリ終了この項目の再生時に、指定したアプリを終了します。次にアプリを起動するとき、前回の状態からは復帰せず、最初から実行されます。終了するアプリが現在のアプリの場合は、ホームアプリに移行します。▼キー操作この項目の再生時に、機能キーを押す操作を実行します。(非RootかつAndroid4.0以前の機器ではタッチ情報の取得が必要)この項目の再生時に、指定した位置をタップします。※画像ファイルはスクリーンサイズと同一である必要があります。画像の向きを指定する必要があります。※長押し、ダブルタップ、スワイプ、ドラッグの実行にはタッチ情報の取得が必要です。スワイプ指定時には始点と終点を2点を設定します。経由する中間点が必要な場合にはドラッグを指定し、始点終点の設定後に経由する中間点(8点まで)を追加してください。ONの場合、画像認識の結果を(0,0)として(X,Y)座標が加算された位置をタップ▼キー入力この項目の再生時に、指定したキーボード入力を行います。この機能はキータイピングを行うもので、指定した文字列がそのまま入力されるものではありません。特定の対象に文字列を入力する用途の場合は、その対象を選択した上で、この項目にIMEなどの制御を考慮したキー入力内容(確定のためのEnterなどを含む)を指定してください。タイプするキー列(キーボード上の文字に限定)。4.3では非推奨)この項目の再生時に、指定した文字列をクリップボードに設定します。指定する文字列(文字種の制限なし)▼スクリーンショット撮影この項目の再生時に、スクリーンショットを撮影し、指定したフォルダに保存します。ファイル名の接頭部分。ファイルとして保存されます。機器の標準向きが上になるように画像を保存します。[ファイル参照]に指定するための設定です。ONの場合、スクリーンショットの過程に画面の向きによる回転やフォーマット変換を含めずに保存します。ONの場合、撮影したスクリーンショットはファイルに保存されません。撮影と画像認識を分けて登録する(続いてスクリーンショットを撮る:OFF設定の画像認識を行う)ための設定です。▼バイブ通知この項目の再生時に、機器をバイブレーションさせます。変数を使用して再生中の状態を保持・条件分岐を行います。詳細はプログラム再生ログ/変数リファレンスを参照してください。共通する設定として、実行後の行き先の指定やマニュアル制御パネルの表示、ラベルの設定があります。(再生完了として終了)のいずれかです。判定に成功したときの移動先を指定。項目のアイコン左下に緑色のマークで表示されます。指定した秒数の間、判定に成功しなかった場合の移動先を指定。項目のアイコン右下に赤色のマークで表示されます。成功/失敗については[変数をセット]を選択することで、それぞれの場合に変数を設定することもできます。ONの場合、この項目の処理中にマニュアル制御パネルが表示されます。詳細は次節を参照してください。↓ポップアップメニューポップアップUIモードがONの場合、リスト内の項目をタップすることで設定、プレビュー、軌跡の編集、間隔の調整、分割、削除のためのメニューが現れます。プレビュー画面または軌跡の編集画面を開きます。操作間隔の調整を開きます。軌跡を分割を開きます。チェックした1項目の直前にこの項目をコピーします。チェックした1項目の直前にこの区間の内容をコピーします。リストから項目を削除します。※実際にデータが削除されるのはアプリ変化またはメニューの保存を選択した時です。↓スキップ/ブックマーク,マニュアル制御パネル#プログラム番号をタップすると、その項目の状態を標準またはスキップに変更できます。長押しすることでブックマークを指定できます。再生時に実行される項目です。(グレーアウト/番号打ち消し線)再生時に実行されない項目です。削除せずにプログラムの動作から除く場合に利用できます。(背景矢印)下記マニュアル制御パネルで移動先として登録される項目です。※自動分割モードで記録した場合、自動生成されるプログラムの画像認識項目は[スキップ]状態に設定されています。設定されている項目の待機・判定中には、マニュアル制御パネルが現れます。このパネルでは、待機時間のスキップや成功/失敗の指定、判定時間の延長、ブックマーク項目への移動が行えます。パネルはFRepフローティングパネル同様に2つのボタンから構成され、同様の操作で利用できます。[制御操作の選択]再生中の項目名が表示されます。画像認識項目の場合は、ボタン背景に認識する画像が表示されます。タップやフリック操作で、下ボタンに表示される制御の内容が切り替わります。[制御操作の実行]タップすることで表示されている制御内容を実行します。ドラッグすることでパネルの位置を移動できます。パネル上ボタンを一度タップまたはフリックすると、上ボタンには一時停止アイコンが表示されます。(判定回数)が延長され、判定が成功するまで継続されます。この状態を解除するには、再度上ボタンをタップします。待機/操作間隔の時間を指定/演算します。タップして現れるポップアップはタップした項目のみを調整します。複数の項目を一括して調整する場合は対象をチェックし、メニューから操作間隔の調整を選択します。倍加(*)]を選択します。ONの場合、調整する対象を下記の条件で絞り込みます。OFFの場合は対象となる全ての待機/操作間隔を調整します。対象とする時間条件をプリセットから指定できます。下限値より短い待機時間/間隔は調整されず無視されます。上限値より長い待機時間/間隔は調整されず無視されます。ONの場合、指定範囲に含まれる待機項目の待ち時間、タッチ、キー操作項目の間隔を調整します。ONの場合、操作記録の待ち時間とストローク間の待ち時間を対象とします。操作記録のプレビューおよびタッチ操作の編集を行います。タッチ操作はストローク単位(タッチ開始から全ての指を離すまで)に分割され、緑の点と向きを示す三角形で描画されます。タッチ操作を編集する場合は、下部のスライダで編集対象とするストローク範囲を指定してから、ドラッグまたは編集メニューを開いて位置や待ち時間、ストローク間の操作間隔の変更、または必要な操作の切り出しや分割を行います。終了/保存する場合は、画像をタップするか戻るキーを押します。保存時、編集された操作記録は元の記録とは別に保存され、また元の記録には[スキップ]が設定されます。[表示/編集対象を選択]スライダは操作記録の時間を幅としており、左右の三角のつまみをドラッグすることで表示/編集対象とするストロークを選択できます。右上の操作パネルのうち<<前/次>>を押すことでそれぞれのストロークを選択できます。[選択ストロークの移動]画像上でドラッグ操作することで、選択したストロークがドラッグ方向に移動します。※移動量はタッチデバイスの分解能に依存します。[選択ストロークの待ち時間調整/切り出し]左上のアイコンやメッセージをタップすることで編集メニューが開きます。前または次のストロークを選択。先頭の項目で前、または末尾の項目で次を押すと全体を表示します。描画された軌跡を全て消去。プレビューの再生を開始。プレビューの再生を停止。10x(10倍)まで変更できます。現在の状態を保存します。※画面遷移やスリープ時には自動で保存が行われます。保存された状態を読み込みます。アンロックキー導入時のみ)チェックした項目をコピー/ペーストします。※別のプログラムには貼り付けられません。▼(関数に)切り出し一連のチェック項目を関数として保存します。関数はどのプログラムからも関数呼び出しの1項目で呼び出せます。※切り出した関数は記録の管理画面の関数タブに保存されます。▼削除チェック項目を削除します。※保存時に実際にデータが削除されます。▼コピーして追加チェック項目をコピーして現在のプログラム末尾に追加します。▼ラベルを消去チェック項目のラベルを全て空にします。ラベルが空の項目は、再生時のポップアップ通知が省略されます。▼有効/スキップ切替チェック項目のスキップ/標準状態を切り替えます。全てまたはチェックしたループ/区間の折り畳み/展開状態を切り替えます。表示されない異常な項目が存在する場合、チェックせずにこのメニューを選択することで全ての項目を表示できます。▼待機/操作間隔を調整チェック項目のうち、操作記録の最初の待ち時間、待機項目の待ち時間、および操作に含まれるストローク間の間隔を指定/加算/減算します。全ての項目をチェック/チェック解除します。4~)書き出しできない(大きすぎる画像データをもつ)項目が存在するかどうかを検査し、存在した場合はその項目に警告マークを表示します。(要アンロックキー)現在のプログラムが最後に再生されたときの終了時の状態を表示します。画像表示モードONにした場合、操作記録の項目についてアプリアイコンの代わりにスクリーンショットを表示します。※スクリーンショットがない記録の場合はアプリアイコンを表示します。最終マッチをプレビュー表示ONにした場合、最後の再生時に一致した画像をプレビュー内に表示します。区間をインデント表示ONにした場合、ループや区間に囲まれた項目をインデント表示します。区間を付加ONにした場合、項目数の多いプログラムを追加する際、自動的に前後に区間を付加します。4以降のみ)ONにした場合、スクリーンショット画像選択時にjpgファイルを選択可能にします。画像認識項目のデフォルトを色の類似性にします。アンロックキー導入時のみ)ONにした場合、コピーして追加、チェック位置にコピーなどのメニューを表示しません。4以降のみ)ONにした場合、項目をタップして現れるポップアップリストがダイアログ形式で表示されます。リストが正しく表示されない場合にはONにしてください。記録の管理画面でのリスト項目サイズを切り替えます。ONの場合、小型のリスト項目が表示されます。特定の項目について、再生中のポップアップを表示させない場合は、その項目のラベルを空にして保存してください。記録中、意図的に操作をせずに記録を分割させることで、分割に応じた画像認識・アプリ待ち・画面向き項目を含むプログラムが作成されます。生成された項目のうち、画像認識は[スキップ]設定で登録されているため、必要分だけ解除して利用できます。設定に切り替えてみてください。ランチャーActivityと実際のメインActivityが異なるアプリの場合にこの問題が発生することがあります。分岐先を指定する形で実現できます。何度か試行回数が必要な場合は、追加した一式の先頭と末尾の項目をチェックして、ループ開始を追加してください。長いプログラムを作成するときには、次の機能の利用を推奨します。しておくことで、再生時にマニュアル制御パネルで任意の項目から再生テストを行えます。タッチ操作にマイナスの座標を指定すると、機器のサイズに座標を足した位置をタップします。(-1,-1)を指定すると右下端をタップする操作になります。ポップアップUIモードや削除時の確認設定は記録の管理画面と共通です。変更する場合は記録の管理のメニューから設定してください。画像認識などで外部SDカード内のスクリーンショット画像を参照する場合は、ファイル一覧の「上へ」を何度か押して現れる「切替」ボタンを押して外部SDカードに移動できます(※OSバージョンや機器仕様に依存します)。ファイル選択リストでソートボタンを長押しすると、ファイル名の省略部分を切り替えられます。Switchプログラムの編集により作成した記録を再生した結果は、アンロックキーを導入することでプログラムの編集画面メニュー「再生ログを表示」から確認することができます。詳細な再生中の状態を確認するために、アプリ待ちや画像認識結果を変数に格納してくことで、再生ログに表示することができます。(要アンロックキー)再生結果と再生完了の日時、最後に再生または中断された項目を表示します。プログラムが変数を参照した場合には、参照した変数の内容をリスト表示します。エラー時のみ再生ログを記録オプションがONの場合、再生成功時にはログ情報は上書きされません。再生成功時には緑、失敗・中断時には赤の四角アイコンを表示します。日時は成否に関わらず再生終了時点を示します。再生時点でのラベル名と成否、終了直前に実行された項目の番号およびラベルを表示します。エラーメッセージ再生失敗・中断時の原因となったエラーメッセージを表示します。参照変数プログラム内で設定・参照された変数について、再生終了時点での値を表示します。再生中に得られる値の取得や演算を行い、変数に保存します。変数はプログラム編集の制御項目の設定や、IFやSwitch分岐に利用できます。保存された変数はFRepサービスが保持し、他のプログラムと共通して使用されます。複数の演算を指定した場合、リストの上から順に実行されます。リストの左側ボタンから削除、右側+ボタンから演算を追加できます。中央の演算文を長押しすることでリスト内をドラッグ移動できます。演算内容を編集する場合は中央の演算文をタップします。[A-Za-z_@][0-9A-Za-z_]+定義できる変数名は半角英数とアンダーバーから構成されます。冒頭に数字は使用できません。@で始まる変数は規定のシステム変数のため、引数にのみ使用できます。%frep4に渡されます。このとき同時に%frepsuccessに1(再生成功時)または0(失敗/割り込み中断時)が指定されます。文字列]値の型は(空)を含め4種類です。変数の型は保持している値で決定されます。機器や再生の状況を参照するためのシステム変数です。var.length一部の型を保持している変数は、その内部値に基づく値を参照できます。※引数2が矩形の場合、成分ごとに演算。※引数2が矩形の場合、成分ごとに演算。clean:↓IF変数に格納された値を条件としてプログラムを分岐・中断します。複数の条件を指定した場合、リストの上から順に判定されます。リストの左側ボタンから削除、右側+ボタンから条件を追加できます。中央の条件文を長押しすることでリスト内をドラッグ移動できます。条件を編集する場合は中央の条件文をタップします。ornot:)複数の条件を組み合わせた判定を行うことができます。直前の条件と共に満たす必要がある条件です。以前の条件が満たされていない場合でも別の条件として引き続き判定する条件です。より区切られた条件はリスト内で色分けされます。↓Switch変数に格納された値を条件としてプログラムを分岐します。条件1つにつき1つの行き先を指定でき、リストの上から順番に評価して最初に満たされた条件の行き先へ分岐します。どの条件にも一致しなかった場合は、その他(default)に指定した行き先へ分岐します。リストの左側ボタンから削除、右側+ボタンから条件を追加できます。条件文を長押しすることでリスト内をドラッグ移動できます。条件や行き先を編集する場合はそれぞれをタップします。使用できる比較演算子はIFと同一ですが、複合条件(and:やor:等)は指定できません。再生成功時の変数を確認する場合は、あらかじめエラー時のみ再生ログを記録オプションをOFFにして再生します。クリップボード内容を変更する場合は、クリップボード項目を追加して▽ボタンから変数を指定します。