スクリプト機能のユーティリティオブジェクトです。
メソッド名 | 機能 |
---|---|
calcLength | 指定文字列の文字数をエミュレータ換算で取得 |
forwardScreen | 指定された画面へ移動 |
truncate | 指定文字列を指定された文字数(エミュレータ換算)で切り詰めて取得 |
suspendRequest | 状態監視リクエストの停止 |
resumeRequest | 状態監視リクエストの再開 |
指定文字列の文字数をエミュレータ換算で取得
指定された文字列の文字数をエミュレータ換算で取得します。
●呼び出し形式
calcLength(text)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
text | エミュレータ換算で文字数を取得する文字列を指定 | 省略できません |
●エミュレータ換算
文字 | 換算方法 |
---|---|
半角文字 | 半角1文字を、1文字として換算します |
全角文字 | 全角1文字を、2文字として換算します |
リモートフォント | コード値を、2文字として換算します |
特殊キー | 特殊キーは文字として換算しません |
[[ | 2文字を、1文字として換算します |
●リターン値
関数の呼び出しに成功すると指定された文字列をエミュレータ換算した文字数を返します。エラーが発生した場合は-1を返します。
●JavaScriptを用いて記述した例
var dspemu = new WsmgrDspemu(); // インスタンスの作成
// 半角文字 dspemu.util.calcLength('123ABC'); // 文字数:6 // 全角文字 dspemu.util.calcLength('担当'); // 文字数:4 // リモートフォント dspemu.util.calcLength('[80A1]'); // 文字数:2 // 特殊キー dspemu.util.calcLength('[ENTER]');// 文字数:0 // [[ dspemu.util.calcLength('[['); // 文字数:1
指定された画面へ移動
スクリプトエディタで作成されたプロジェクトで、ユーザカスタマイズのコードから指定された画面への「画面の移動」アクションを実行します。
●呼び出し形式
forwardScreen(screenName, callback)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
screenName | 移動先の画面名 | 省略できません |
callback | 画面移動完了後に呼び出されるコールバック関数を指定 | コールバックなし |
注意
コールバック関数はエミュレータと同一ウィンドウから指定してください。
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。
forwardScreenメソッドは、非同期で実行されるため、画面の移動完了を待ち合わせずに復帰します。
画面移動の実行結果は、コールバック関数に通知されます。画面の移動を待ち合わせて処理を行う場合は、コールバック関数で処理してください。
●コールバック関数に渡されるオブジェクト
メンバ変数 | 説明 |
---|---|
result | 画面移動の実行結果コード |
message | 画面移動の実行結果メッセージ |
screenName | 移動完了時の画面名 |
●JavaScriptを用いて記述した例
※スクリプトエディタの「ユーザカスタマイズ」アクションに記述します var ret = dspemu.util.forwardScreen('画面5', function (e) { if (e.result != 0) { // エラーメッセージの表示 dspemu.macro.MsgBox(e.message + '(' + e.result + ')'); } });
指定文字列を指定文字数で切り詰めて取得
指定された文字列の指定された文字数(エミュレータ換算)で切り詰めて取得します。
●呼び出し形式
truncate(text, length)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
text | エミュレータ換算で切り詰めする文字列を指定 エミュレータ換算についてはcalcLengthを参照 | 省略できません |
length | 切り詰め文字数を指定(1~) | 省略できません |
●リターン値
関数の呼び出しに成功すると指定された文字数で切り詰めた文字列を返します。エラーが発生した場合はnullを返します。
●JavaScriptを用いて記述した例
var dspemu = new WsmgrDspemu(); // インスタンスの作成 dspemu.util.truncate('担当123', 4); // 文字列:担当 dspemu.util.truncate('[80A1] ', 2); // 文字列:[80A1] dspemu.util.truncate('1[ENTER]', 2); // 文字列:1[ENTER] dspemu.util.truncate('[[', 1); // 文字列:[[
状態監視リクエストの停止
クライアントからサーバへの状態監視リクエストを停止します。
●呼び出し形式
suspendRequest([msec])
●パラメータ
パラメータ | 説明 | 省略時 |
---|---|---|
msec | 指定された時間が経過すると状態監視リクエストを自動的に開始します。 | 状態監視リクエストの停止 |
注意
クライアントからの状態監視リクエストを停止した場合、サーバから通知される画面、回線切断などの通知を受信することが出来なくなります。
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。
●JavaScriptを用いて記述した例
// ユーザHTMLのボタンクリック時の処理 function onButtonClick() { // id属性 image1 の src属性を変更し画像イメージを更新 parent.dspemu.util.suspendRequest(100); // 状態監視リクエストの一時停止(100ミリ秒) var element = document.getElementById('image1'); element.setAttribute('src', '/wsmgrweb/userconfig/img/image1.png'); }
状態監視リクエストの再開
状態監視リクエストを再開します。
●呼び出し形式
resumeRequest()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功するとtrueを返します。エラーが発生した場合はfalseを返します。
●JavaScriptを用いて記述した例
// ユーザHTMLのボタンクリック時の処理 function onButtonClick() { // id属性 image1 の src属性を変更し画像イメージを更新 parent.dspemu.util.suspendRequest(); // 状態監視リクエストの停止 var element = document.getElementById('image1'); element.onload = function () { // イメージロード完了時のイベントで状態監視リクエストを開始 parent.dspemu.util.resumeRequest(); } element.setAttribute('src', '/wsmgrweb/userconfig/img/image1.png'); }