ページの先頭行へ戻る
WSMGR for Web V9 使用手引書
FUJITSU Software

32.4.19 utilオブジェクト

スクリプト機能のユーティリティオブジェクトです。

メソッド名

機能

calcLength

指定文字列の文字数をエミュレータ換算で取得

forwardScreen

指定された画面へ移動

truncate

指定文字列を指定された文字数(エミュレータ換算)で切り詰めて取得

suspendRequest

状態監視リクエストの停止

resumeRequest

状態監視リクエストの再開


calcLength

指定文字列の文字数をエミュレータ換算で取得

指定された文字列の文字数をエミュレータ換算で取得します。


●呼び出し形式

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

指定された画面へ移動

スクリプトエディタで作成されたプロジェクトで、ユーザカスタマイズのコードから指定された画面への「画面の移動」アクションを実行します。


●呼び出し形式

forwardScreen(screenName, callback)

●パラメータ

パラメータ

説明

省略時の初期値

screenName

移動先の画面名
スクリプトエディタのプロジェクトで定義した画面名を指定します。

省略できません

callback

画面移動完了後に呼び出されるコールバック関数を指定

コールバックなし


注意

コールバック関数はエミュレータと同一ウィンドウから指定してください。

●リターン値

関数の呼び出しに成功するとtrueを返します。エラーが発生した場合は、falseを返します。

forwardScreenメソッドは、非同期で実行されるため、画面の移動完了を待ち合わせずに復帰します。
画面移動の実行結果は、コールバック関数に通知されます。画面の移動を待ち合わせて処理を行う場合は、コールバック関数で処理してください。


コールバック関数に渡されるオブジェクト

メンバ変数

説明

result

画面移動の実行結果コード
0:正常
1:スクリプトエディタのプロジェクトで未定義の画面を指定
2:画面移動の実行中(多重呼び出し)
3:経路検索エラー
4:エミュレータが未接続状態
5:指定画面への遷移情報定義エラー
6:移動中に記録されていない画面を受信
7:回線切断が発生

message

画面移動の実行結果メッセージ
正常の場合は、空文字が設定されます。

screenName

移動完了時の画面名
スクリプトエディタのプロジェクトで未定義の画面を指定、または未接続状態で実行した場合は、空文字列が設定されます。


●JavaScriptを用いて記述した例

※スクリプトエディタの「ユーザカスタマイズ」アクションに記述します

var ret = dspemu.util.forwardScreen('画面5', function (e) {
    if (e.result != 0) {
        // エラーメッセージの表示
        dspemu.macro.MsgBox(e.message + '(' + e.result + ')');
    }
});

truncate

指定文字列を指定文字数で切り詰めて取得

指定された文字列の指定された文字数(エミュレータ換算)で切り詰めて取得します。


●呼び出し形式

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

状態監視リクエストの停止

クライアントからサーバへの状態監視リクエストを停止します。


●呼び出し形式

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

状態監視リクエストの再開

状態監視リクエストを再開します。


●呼び出し形式

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');
}