8.6.2 Message (ファイル/ウィンドウにテキストを出力する)
- 機能
-
ファイル,またはウィンドウにテキストを出力します。
また,出力したウィンドウやテキストを消去します。
ウィンドウ出力については,JP1/Script 01-01からサポートしています。
- 形式
Message ( Target , 〔OutputName〕 , 〔Text〕 , 〔LineLength〕 , 〔MaxLines〕 , 〔xPos〕 〔, yPos〕 )
- 指定項目
-
- Target
-
テキストの出力先を指定します。
この値は次のどれかになります。
値
意味
Target_File
ファイルに出力します。
Target_DispOn (01-01以降)
ウィンドウに出力します。
Target_DispClear (01-01以降)
ウィンドウに表示しているメッセージテキストを消去します。
Target_DispOff (01-01以降)
表示しているウィンドウを消去します。
Target_SPAFile (05-20以降)
実行中スクリプトの解析トレースファイルに出力します。
Target_SPXFile (05-20以降)
実行中スクリプトの実行トレースファイルに出力します。
- OutputName
-
-
TargetにTarget_Fileを指定した場合
出力先ファイルのフルパスを文字列,または値を格納した変数名で指定します。ファイル名の拡張子が省略された場合,自動的に拡張子(.TXT)を付加します。ただし,ファイル名の末尾が拡張子のピリオド( . )である場合,JP1/Script 06-00以降では,拡張子のないファイル名とみなします。
-
TargetにTarget_DispOn,Target_DispClear,Target_DispOffを指定した場合
ウィンドウのタイトル名を文字列,または値を格納した変数名で指定します。
-
TargetにTarget_SPAFile,Target_SPXFileを指定した場合
実行中スクリプトの各トレースファイルが出力先ファイルになるため,この値は省略できます。値を省略しないで指定した場合,この値をウィンドウタイトル名とみなし各トレースファイルとウィンドウの両方に出力します。
-
- Text
-
-
TargetにTarget_File,Target_DispOn,Target_SPAFile,Target_SPXFileを指定した場合
出力するメッセージテキストを文字列,または値を格納した変数名で指定します。スクリプトファイルの先頭に「#Option = NOCHANGE」の記述がない場合,メッセージテキストの文字列中に含まれる"\r","\n","\t","\\"はそれぞれ対応するコントロールコードとして処理されます。
コントロールコードについては,「6.1.11 コーディング規則」を参照してください。
-
TargetにTarget_DispClear,Target_DispOffを指定した場合
この値は無効になります。
-
- LineLength
-
-
TargetにTarget_Fileを指定した場合
出力するメッセージテキストの1行の長さを数値,または値を格納した変数名で指定します。メッセージテキストに含まれる"\r","\n"は除いた値を指定します。
この値はOutputNameで指定されたファイル名に対して,初めてMessageコマンドを実行するときに指定します。2回目以降のMessageコマンドを実行するときにLineLengthの値が変更された場合,1行の長さを変更してOutputNameで指定されたファイルを新しく作成します。
指定できる値の範囲は,128〜1,024です。
この値は省略できます。省略した場合,実行環境ファイルで定義されたユーザトレース情報の最大列数を仮定します。
省略してユーザトレース情報が存在しない場合は,150を仮定します。
-
TargetにTarget_DispOn,Target_DispClear,Target_DispOffを指定した場合
この値は無効になります。
-
TargetにTarget_SPAFile,Target_SPXFileを指定した場合
この値は無効になり,実行環境ファイルで定義されたトレース情報の最大列数を仮定します。
-
- MaxLines
-
-
TargetにTarget_Fileを指定した場合
出力するメッセージテキストの最大行数を数値,または値を格納した変数名で指定します。
この値はLineLengthと同様に,OutputNameで指定されたファイル名に対して,初めてMessageコマンドを実行するときに指定します。2回目以降のMessageコマンドを実行するときにMaxLinesの値が変更された場合,最大行数を変更してOutputNameで指定されたファイルを新しく作成します。
指定できる値の範囲は,100〜9,999です。
この値は省略できます。省略した場合,実行環境ファイルで定義されたユーザトレース情報の最大行数を仮定します。
省略してユーザトレース情報が存在しない場合は,1,024を仮定します。
-
TargetにTarget_DispOn,Target_DispClear,Target_DispOffを指定した場合
この値は無効になります。
-
TargetにTarget_SPAFile,Target_SPXFileを指定した場合
この値は無効になり,実行環境ファイルで定義されたトレース情報の最大行数を仮定します。
-
- xPos
-
-
TargetにTarget_DispOn,Target_DispClearを指定した場合,およびTargetにTarget_SPAFile※1,またはTarget_SPXFile※1を指定してウィンドウにも出力する場合
画面の左端からウィンドウの左端までの水平方向の距離を数値,または値を格納した変数名で指定します。
距離は左端を0としたピクセル単位で指定します。
この値を省略すると,ウィンドウは水平方向に対して画面の中央の位置に配置されます。また,負の値を指定した場合,0を仮定します。
-
TargetにTarget_File,Target_DispOffを指定した場合,およびTargetにTarget_SPAFile※2,またはTarget_SPXFile※2を指定してウィンドウには出力しない場合
この値は無効になります。
-
- yPos
-
-
TargetにTarget_DispOn,Target_DispClearを指定した場合,およびTargetにTarget_SPAFile※1,またはTarget_SPXFile※1を指定してウィンドウにも出力する場合
画面の上端からウィンドウの上端までの垂直方向の距離を数値,または値を格納した変数名で指定します。
距離は上端を0としたピクセル単位で指定します。
この値を省略すると,ウィンドウは垂直方向に対して画面の中央の位置に配置されます。また,負の値を指定した場合,0を仮定します。
-
TargetにTarget_File,Target_DispOffを指定した場合,およびTargetにTarget_SPAFile※2,またはTarget_SPXFile※2を指定してウィンドウには出力しない場合
この値は無効になります。
-
注※1 OutputNameに値を指定した場合。
注※2 OutputNameの値を省略した場合。
- 説明
-
指定されたファイル,またはウィンドウに指定されたメッセージテキストを出力します。
また,出力したウィンドウの消去,テキストメッセージの消去をします。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。
- 補足
-
-
スクリプトをサービスで起動する場合は,このコマンドのウィンドウ出力は使用できません。使用すると実行エラーになります。
-
環境変数ProgramFiles(通常はシステムドライブのProgram Filesフォルダ),またはWinDir(通常はシステムドライブのWindowsフォルダ)に設定されているフォルダ下のファイルを指定する場合,注意が必要です。詳細は,「1.8.2 コマンドの動作」を参照してください。
-
Target_Fileで指定したファイルを新規に作成する場合に,アクセス権限を設定できます。設定するアクセス権限は,あらかじめ次に示すレジストリキーに設定しておいてください。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\SOFTWARE\Hitachi\JP1/Script\SPTX\Option
- 〔値名〕
-
SecurityAttributesSucceed
- 〔値のデータタイプ〕
-
REG_DWORD
- 〔値〕
-
0:設定しない
1:「上位フォルダのアクセス権を継承する」を設定する。
2:「Everyone:フルコントロール」を設定する。
値が設定されていない場合や上記以外の値が設定された場合は,デフォルトの0を仮定します。
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
- 重要
-
-
実行環境で複数起動の指定をしたスクリプト中に,Target_SPAFile,またはTarget_SPXFileを指定したMessageコマンドがあり,そのスクリプトファイルを同時に複数実行した場合,同一の解析トレースファイル,または実行トレースファイルにメッセージを出力します。このため,ファイルに排他制御がかかり,実行性能が低下することがありますので注意が必要です。また,Target_Fileで出力するファイル名が固定の場合も同様です。
-
Messageコマンドで出力するファイルはJP1/Baseのログファイルトラップ機能の対象にはなりません。
-
Target_Fileで作成したファイルをファイル・フォルダ操作コマンドや他のアプリケーションでテキスト出力しないでください。その後のMessageコマンドの出力結果が保証されません。
-
MessageコマンドでTarget_Fileを指定して,ユニークなファイル名称を持ったユーザトレースファイルを大量に作成する場合,トレース管理ファイルの増大によって,スクリプトの実行性能に影響を与える場合があります。また,以下の例のように,メモリ不足のために,スクリプト実行が異常終了したり,コマンド実行がエラーになったりする場合があります。
・スクリプト実行が終了コード「20」で異常終了する。
・Copyコマンドで「メモリ不足が発生しました」となる。
このような場合は,MessageコマンドではなくTextOpen/TextWrite/TextCloseコマンドによってトレースファイルを作成してください。
-
-
- 例
' スクリプト実行の履歴を"Loging.txt"に書き込む。 Message ( Target_File ,_BIN_+"Loging.txt" ,"実行開始" ,30 ,100 ) : Message ( Target_File ,_BIN_+"Loging.txt" ,"実行終了" ) ' スクリプト実行の履歴状況をディスプレイに表示する。 Message ( Target_DispOn ,"実行状況" ,"開始しました。", , ,100 ,100 ) : Message ( Target_DispOn ,"実行状況" ,"終了しました。", , ,100 ,100 ) Sleep ( 3000 ) Message ( Target_DispOff ,"実行状況" )
表示例
- 対象バージョン
-
JP1/Script 01-00以降