• 検索結果がありません。

クライアントスクリプトファイルで使用する cl.変数および関数

ドキュメント内 Kiwi CatTools (ページ 154-161)

4.5 カスタムアクティビティの作成

4.5.6 カスタムアクティビティスクリプトに使用でき cl./ct.変数および関数

4.5.6.1 クライアントスクリプトファイルで使用する cl.変数および関数

CatToolsのクライアントスクリプトで使用する「cl.」変数、関数、サブルーチン

の一覧とカスタムアクティビティクライアントスクリプトファイルでの実装例 を以下に挙げます。この一覧に記載した以外の CatTools 内で使用される内部ク ライアント変数/関数もありますが、スクリプトのテンプレートファイル内で使 用されているものとカスタムアクティビティクライアントスクリプトを作成す る際に役立つ変数/関数のいくつかについて説明してあります。

変数

cl.AppPath CatTools のアプリケーションパス(インストー

ル先ディレクトリ)です。

cl.ScheduleNumber 現在のスケジュール番号です。

cl.DeviceName 現在の接続先デバイス名です。

2008  Kiwi Enterprises cl.TelnetConnectionStatus (プロトコルエンジンコントロール)クライアン

トスレッドのインスタンスに対するコネクショ ンステータスです。

例: 現在のクライアントコネクションステータ スをチェックし、ステータスが「OK」でない場 合は関数を終了させる場合

If StrComp(cl.TelnetConnectionStatus,

"OK", vbTextCompare) <> 0 Then Exit Function

cl.QuitNow アクティビティを停止するために複数の箇所で

チェックされる変数です。(例えば)アクティビ ティの実行中に[Stop]ボタンが押されると、1に 設定されます。この変数はアクティビティクラ イアントスクリプト内でのみ参照可能です。メ インスクリプトを参照する場合はct.QuitNow変 数を使用してください。

代表的な関数およびサブルーチン 汎用およびファイル関連

cl.Log Infolog.txt ファイルにテキスト行を送信し

ます。この情報は[Info Log]タブに表示され ます。

cl.LogToFile データをファイルに書き出します。

cl.FileExists ファイルが存在するかどうかをチェックし

ます。

cl.CreateFile 指定したファイル名とパスで新しいファイ

ルを作成します。

cl.DeleteFile 指定したファイル名とパスのファイルを削

除します。

cl.ReadFromFile 指定したファイルの内容を読み込みます。

cl.ReplaceClientFilenameVariables クライアントレポートのファイル名に書か れているファイル名変数またはメタ変数を 実際のテキスト値に置換します。

cl.SaveResults 結 果 を 一 時 フ ァ イ ル(.txt)に 書 き 出 し

¥ClientTempフォルダの下に保存します。

2008  Kiwi Enterprises アクティビティ関連

cl.DBCheckScheduleOption 指定したアクティビティ内で特定のオプ

ションが選択されているかどうかを確認し ます。

cl.DBScheduleGetField CatTools データベースからアクティビティ

フィールド値を取得します。

デバイス関連

cl.DisconnectHost (プロトコルエンジンコントロール)クライ アントスレッドのインスタンスをエンドデ バイスから切断します。

関数およびサブルーチンの詳細およびコード例

ここでは、上記の関数およびサブルーチンについて入力パラメータやコード例な ども織り交ぜながらさらに詳しく説明します。

cl.Log (iPriority、sMessage)

このサブルーチンはテキスト行をInfolog.txtファイルに送信します。この情報は

[Info Log]ペインに表示されます。入力パラメータは2つです。

iPriority 1〜4 の整数で送信される行のロギングレベルを指定

します。1=エラー、2=警告、3=情報、4=デバッグ

sMessage 送信されるテキストメッセージを指定します。

例:アクティビティの[Options]タブにある[Use alternate command]フィールドに 指定がなく、レベル3(情報)のメッセージを出力する

Dim sAltCommand

sAltCommand = cl.DBScheduleGetField(cl.ScheduleNumber,

"OptionsString1")

If Len(Trim(sAltCommand)) = 0 Then

cl.Log 3, "No alternate command specified"

End if

cl.LogToFile (sFilename, sData, bAppend)

このサブルーチンは指定したファイルにデータを書き込みます。入力パラメータ は3つです。

2008  Kiwi Enterprises

sFileName 書き込むファイルの名前とパスを文字列で指定しま

す。

sData 書き込むデータを文字列で指定します。

bAppend ブール値で指定します。この値が 0 以外(すなわち

False 以外)に指定されているときファイに情報が追

記されます。

例:アクティビティの[Options]タブにある[Use alternate command]フィールドに 指定がない場合にレベル 2(警告)のメッセージを[Info Log]に出力し、¥Reports フォルダにあるファイルにそのテキストを追記する

Dim sLogResultsFile Dim sAltCommand

sLogResultsFile = cl.AppPath & "Reports¥" & cl.UniqueFileID

& ".txt"

sAltCommand = cl.DBScheduleGetField(cl.ScheduleNumber,

"OptionsString1")

If Len(Trim(sAltCommand)) = 0 Then

cl.Log 2, "No alternative command specified"

Call cl.LogToFile(sLogResultsFile, "No alternative command specified in activity Options tab", 1)

End if

cl.FileExists(sFileName) As Boolean

この関数は指定したファイルが存在するかどうかをチェックします。ファイルが 見つかった場合はTrue、見つからなかった場合はFalseが返されます。

入力パラメータは1つです。

sFileName 存在するかどうか確認するファイルのファイル名と

パスを文字列で指定します。

cl.CreateFile(sFileName) As Boolean

この関数は指定したファイル名とパスで新しいファイルを作成します。ファイル が既に存在している場合またはファイル作成が成功した場合は True、ファイル が作成できず既存のファイルも見つからない場合はFalseが返されます。

入力パラメータは1つです。

2008  Kiwi Enterprises

sFileName 作成するファイルのファイル名とパスを文字列で指

定します。

cl.DeleteFile(sFileName) As Boolean

この関数は指定したファイル名とパスのファイルを削除します。ファイル削除が 成功した場合はTrue、ファイルが削除できなかった場合はFalseが返されます。

入力パラメータは1つです。

sFileName 削除するファイルのファイル名とパスを文字列で指

定します。

cl.ReadFromFile(sFileName) As String

この関数は指定したファイルの内容を読み込みます。ファイルデータが文字列で 返されます。CatTools関数のct.ReadFromFileと同様の処理を実行しますが、ア クティビティクライアントスクリプト内からのみ呼び出すことができます。

入力パラメータは1つです。

sFileName 内容を読み込むファイルのファイル名とパスを文字

列で指定します。

例: 指定したファイル(この場合はCLIコマンドリスト)の内容を読み込む Dim sFileName

Dim sCommandList

If cl.DBCheckScheduleOption(cl.ScheduleNumber, 1) = 0 Then ' Option selected to load CLI commands to send to device from a file

sFileName = cl.DBScheduleGetField(cl.ScheduleNumber,

"OptionsString2")

sCommandList = cl.ReadFromFile(sFileName) End If

cl.ReplaceClientFilenameVariables(sData) As String

この関数はクライアントレポートファイルに記述されているファイル名変数ま たはデバイスに送信されるコマンド内に記述されているメタ変数を実際のテキ スト値に置換します。置換後の変更された文字列が戻されます。

2008  Kiwi Enterprises 入力パラメータは1つです。

sData ファイル名とパス、あるいはチェック対象のコマンド

リストを文字列で指定します。

例:指定したファイルのファイル名変数を置換し、その内容(この場合は CLI コ マンドリスト)の内容を読み込む。次に、コマンドリストに含まれているメタ変 数を置換する

Dim sFileName Dim sCommandList

If cl.DBCheckScheduleOption(cl.ScheduleNumber, 1) = 0 Then

' Option selected to load CLI commands to send to device from a file

sFileName = cl.DBScheduleGetField(cl.ScheduleNumber,

"OptionsString2")

' Replace any filename variables

sFileName = cl.ReplaceClientFilenameVariables(sFileName) ' Read in the file contents

sCommandList = cl.ReadFromFile(sFileName) ' Replace meta (command) variables with values

sCommandList = cl.ReplaceClientFilenameVariables(sCommandList) End If

cl.SaveResults(sData, bAppend)

このサブルーチンは結果を一時ファイル(.txt)に書き出し¥ClientTempフォルダの 下に保存します。

入力パラメータは2つです。

sData 書き出すデータを文字列で指定します。

bAppend ブール値で指定します。0(False)を指定するとファイ

ルは上書きされ、1(True)を指定するとファイルに文 字列が追記されます。

例:現在のデバイスの応答(sResults)を一時ファイル(.txt)に書き出し、その際既存 のデータを上書きしてファイルを保存する

Call cl.SaveResults(sResults, 0)

2008  Kiwi Enterprises cl.DBCheckScheduleOption(lScheduleNumber, lOptionNumber) As Long この関数は指定したアクティビティ内で特定のオプションが選択されているか どうかを確認します。

入力パラメータは2つです。

lScheduleNumber 現在のスケジュール番号をLongで指定します。

lOptionNumber チェック対象のアクティビティ内のオプションを

Longで指定します。lOptionNumberは1〜10までの 値で指定する必要があります。

例:アクティビティ(この場合は Device.CLI.Send commands アクティビティ)を チェックし、コマンドの出力結果を電子メール送信するかどうかを確認する

lRetVal = cl.DBCheckScheduleOption(cl.ScheduleNumber, 8) If lRetVal = 1 then

' code to email commands goes here...

End if

cl.DBScheduleGetField(lScheduleNumber, sFieldName)

この関数は CatTools データベースから指定したアクティビティのフィールド値 を取得します。CatTools 関数の ct.DBScheduleGetField と同様の処理を実行し ますが、アクティビティクライアントスクリプト内からのみ呼び出すことができ ます。

入力パラメータは2つです。

lScheduleNumber 現在のスケジュール番号をLongで指定します。

sFieldName データベースに登録されている、値を取得したい

フィールドの名前を文字列で指定します。

例: (上記の cl.DBCheckScheduleOption 関数と併用)アクティビティの[Options]

タブにある[Use alternate command]のチェックがオンになっているかどうか チェックする。オンになっているとき、データベースから送信したい代替コマン ドを取得する

'Check the option 1 check-box to see if selected - i.e. set to 1

If cl.DBCheckScheduleOption(cl.ScheduleNumber, 1) = 1 Then ' Get value from database for associated string field (being field

"OptionsString1" in the database) to set a variable value

2008  Kiwi Enterprises sAltCommand = cl.DBScheduleGetField(cl.ScheduleNumber,

"OptionsString1") End If

cl.DisconnectHost

このサブルーチンは(プロトコルエンジンコントロール)クライアントスレッドの インスタンスを伝度デバイスから接続します。

クライアントスレッドから完全に切り離すためにデバイスをログアウトしてか ら呼び出す必要があります。

ドキュメント内 Kiwi CatTools (ページ 154-161)