ゼブラ端末制御モジュールの機能一覧

 

 

Biz/Browser HTと外部サービスを連携する機能「ExternalService」クラスを用いて使用することができるメソッドの一覧です。
サービスの使い方については、Biz/Browser HTのExternalServiceクラスのリファレンスも参照してください。

※正しく動作させるためには、端末のOSバージョンを最新にする必要があります。

 

本モジュールとリファレンスについて

メーカ

対応モジュール

対応機種

サービスID値

バージョン

Biz/Browserの対応バージョン

ゼブラ・テクノロジーズ・ジャパン

EMDKv9版

(Android 11以前のバージョンに対応)

TC20
TC25
TC51
TC56
TC21
TC52
TC57
TC72
TC77
MC20
MC9300
EC50
EC55

jp.co.opst.biz.util.poweruptool.zebrapoweruptool/.MainService

v1.3.0

v1.2.6以上

EMDKv11版

(Android 11以降のバージョンに対応)

TC22
ET40
ET45

jp.co.opst.biz.util.poweruptool.zebrapoweruptool/.MainService

v1.3.0

v1.2.6以上

※掲載されている会社名や製品名は、一般に各社の商標または登録商標です。

 

使用例

/* 本端末制御モジュール専用サービスID(本サービスにおいて固定値) */
String SERVICE_ID = "jp.co.opst.biz.util.poweruptool.zebrapoweruptool/.MainService";
/* メソッド名称 */
String METHOD_NAME = "playBuzzer";

ExternalService sv{
	Function OnBoundStateChanged(e){
		if(e.state == "Bound"){
			//.Messagebox("サービスと接続しました");
		}
	}
}
Button btn1{
	Function OnTouch(e){
		^.sv.bind(^.SERVICE_ID);
	}
}

Button btn2{
	Function OnTouch(e){
		^.sv.invoke(^.METHOD_NAME, 7, 2000);
	}
}
  ※本制御モジュールでは、接続時(ExternalService.bindメソッド)に全バーコードシンボルおよびOCRの読取可否設定をリストアします。

 

目次

 

メソッド名 概要
startScanBarcode バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。
startScanBarcodeContinuous 連続スキャンを開始します。
stopScanBarcode 連続スキャンを終了します。
setBarcodeEnabled 指定したバーコードを読み取り対象にするかどうかを指定します。
isBarcodeEnabled 指定したバーコードが読み取り対象かどうかを取得します。
setNotificationBuzzer 端末の各種通知音の有効・無効を設定します。
getNotificationBuzzer 端末の各種通知音の有効・無効設定を取得します。
setNotificationVibrator 端末の各種通知バイブレータの有効・無効を設定します。
getNotificationVibrator 端末の各種通知バイブレータの有効・無効設定を取得します。
setUserDefineKey 端末のハードウェアキーに、別のキーコードを設定します。
getUserDefineKey 端末のハードウェアキーに割り当てられているキーコードを取得します。
setScannerOption スキャナの詳細設定を設定します。
getScannerOption スキャナの詳細設定を取得します。
setAutoRestorer サービスの実行終了時、設定を変更前の状態に戻す処理を自動的に実行するかどうかを設定します。
systemReboot 端末の電源を再起動します。
ReadBarcodeイベント 連続スキャンでバーコードを読み取ったときに発生します。

 

startScanBarcodeメソッド

説明

バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。

バーコードの読み取りに成功するかタイムアウト時間が経過するまでスキャンを行います。

スキャンが終了し、このメソッドが結果を返すまで処理は戻りません。

 

呼出形式

var res = extsv.invoke("startScanBarcode", timeoutMs);

 

戻り値

以下の3つの要素を持つ連想配列のArrayオブジェクト

 

integer		type	バーコードの種類
String		data	バーコードのデータの文字列表現
String		rawdata	バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)

※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。
 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。

 

バーコードの種類はそれぞれ下記に対応しています。

※機種によってバーコードの対応状況が異なることがあります。

 

 

※1 "ISBT-128"/"Code-128"/"GS1-128"は設定先が同期しています。

※2 "CC-A/B"は一次元バーコード、"CC-C"は一次元バーコード, PDF417 の有効が必須です。

 

引数

integer timeoutMs

スキャンのタイムアウト時間[msec]。0以下の値を設定するとデフォルトの時間だけ待機します。
デフォルトのタイムアウト時間は7000(7秒)です。なお、60000(60秒)より長くすることはできません。

 

使用例

var res = extsv.Invoke("startScanBarcode", 3000);
//.MessageBox("データ:" + res[0]["data"] + "/種類:" + Str(res[0]["type"]) + "/生データ:" + Base64Decoder.Convert(res[0]["rawdata"]));
	

 

startScanBarcodeContinuousメソッド

説明

連続スキャンを開始します。

バーコードを読み取ると、ExternalServiceオブジェクトからReadBarcodeイベントが発生します。

読み取ったバーコードのデータはReadBarcodeイベントから取得することができます。

連続スキャンを停止する場合は、stopScanBarcodeメソッドを呼び出します。

 

呼出形式

extsv.invoke("startScanBarcodeContinuous", sameInterval);

 

戻り値

なし

 

引数

integer sameInterval

同一バーコードの二度読み防止時間を、100ミリ秒単位で指定します。
1以上を設定すると、同一のバーコードを設定した時間が経過するまで読み取りません。
0以下を設定すると、同一バーコードは異なるバーコードを読み取るまで読み取りません。

※MC20の場合、バーコードを高速に続けて読み取るとスキャンが途中で停止する場合があります。
 その場合、stopScanBarcodeメソッドを呼び出すことで再度連続スキャンが可能になります。

 

使用例

ExternalService exs{
	Function OnReadBarcode(e){
		^.Label1.value = e.type + " : " + e.data ;
	}
}
Button Button51 {
    X = 199;
    Y = 333;
    Width = 80;
    Height = 54;
    Title = "スキャン開始";

    Function OnTouch( e ) {
        ^.exs.Invoke("startScanBarcodeContinuous", 3);
    }
}
		

 

stopScanBarcodeメソッド

説明

連続スキャンを終了します。

 

呼出形式

extsv.invoke("stopScanBarcode");

 

戻り値

なし

 

引数

なし

 

setBarcodeEnabledメソッド

説明

指定したバーコードを読み取り対象にするかどうかを指定します。

 

呼出形式

extsv.invoke("setBarcodeEnabled", type, enabled);

 

戻り値

なし

 

引数

integer type

設定を行うバーコードの種類を指定します。

バーコードの種類はそれぞれ下記に対応しています。

バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5Aztec
6郵便カスタマーバーコード
9ITF
10ISBT-128(※1)
11CODE-128(※1)
12CODE-93
13CODE-39
14CODABAR(NW-7)
16MSI/Plessey
17QRコード
18GS1 DataBar
21GS1 Composite CC-A/B/C(※2)
22HANXIN
23GS1-128(※1)
24MaxiCode
25PDF417
26Data Matrix
27Micro PDF
29STF(Industrial2of5)

 

※1 "ISBT-128"/"Code-128"/"GS1-128"は設定先が同期しています。

※2 "CC-A/B"は一次元バーコード、"CC-C"は一次元バーコード, PDF417 の有効が必須です。

 

boolean enabled

スキャンを有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

 

isBarcodeEnabledメソッド

説明

指定したバーコードを読み取り対象にするかどうかを指定します。

 

呼出形式

extsv.invoke("isBarcodeEnabled", type);

 

戻り値

読み取り対象である場合はtrueを、読み取り対象ではない場合はfalseを返します。

 

引数

integer type

設定を取得するバーコードの種類を指定します。

バーコードの種類はそれぞれ下記に対応しています。

 

※1 "ISBT-128"/"Code-128"/"GS1-128"は設定先が同期しています。

※2 "CC-A/B"は一次元バーコード、"CC-C"は一次元バーコード, PDF417 の有効が必須です。

 

 

setNotificationBuzzerメソッド

説明

端末の各種通知音の有効・無効を設定します。デフォルトは有効です。

端末制御モジュールを初期化するたびに設定は初期化されます。

 

呼出形式

extsv.invoke("setNotificationBuzzer", type, enabled);

 

戻り値

なし

 

引数

integer type

通知音の種類。下記の値を指定できます。

説明
1読み取り成功時

 

 

boolean enabled

通知音を有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

 

getNotificationBuzzerメソッド

説明

端末の各種通知音の有効・無効設定を取得します。

 

呼出形式

var res = extsv.invoke("getNotificationBuzzer", type);

 

戻り値

typeに指定した種類の通知音が有効の場合はtrueを、無効の場合はfalseを返します。

 

引数

integer type

通知音の種類。下記の値を指定できます。

説明
1読み取り成功時

 

 

setNotificationVibratorメソッド

説明

端末の各種通知バイブレータの有効・無効を設定します。デフォルトは有効です。

端末制御モジュールを初期化するたびに設定は初期化されます。

 

呼出形式

extsv.invoke("setNotificationVibrator", type, enabled);

 

戻り値

なし

 

引数

integer type

通知バイブレータの種類。下記の値を指定できます。

説明
1読み取り成功時

 

 

boolean enabled

通知バイブレータを有効にする場合はtrueを、無効にする場合はfalseを指定します。

 

 

getNotificationVibratorメソッド

説明

端末の各種通知バイブレータの有効・無効設定を取得します。

 

呼出形式

var res = extsv.invoke("getNotificationVibrator", type);

 

戻り値

typeに指定した種類の通知バイブレータが有効の場合はtrueを、無効の場合はfalseを返します。

 

引数

integer type

通知バイブレータの種類。下記の値を指定できます。

説明
1読み取り成功時

 

 

setUserDefineKeyメソッド

説明

端末のハードウェアキーに、別のキーコードを設定します。

 

呼出形式

var res = extsv.invoke("setUserDefineKey", sourceKeyCode, destKeyCode);

 

戻り値

成功した場合はtrueを、失敗した場合はfalseを返します。

 

引数

integer sourceKeyCode

変換元ハードウェアキーのキーコードを指定します。

キーコードはAndroid標準のキーコード(android.view.KeyEventクラス)の値の他、対応していれば独自キーのキーコードを指定することができます。

KeyEventクラスに関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。

 

ゼブラ端末制御モジュールでは下記の値が使用可能です。各端末との対応関係はゼブラ開発者向けサイトのリファレンスマニュアルや端末本体設定をご参照ください。

キーの種類について

 

 

integer destKeyCode

変換先ハードウェアキーのキーコードを指定します。

キーコードはAndroid標準のキーコード(android.view.KeyEventクラス)の値の他、対応していれば独自キーのキーコードを指定することができます。

KeyEventクラスに関する詳細な情報はAndroid Developers(Android開発者向けサイト)のリファレンスマニュアルをご参照ください。

 

なお、引数に0を指定すると各ハードウェアキーのデフォルト設定に戻します。

 

 

 

getUserDefineKeyメソッド

説明

端末のハードウェアキーに割り当てられているキーコードを取得します。

 

呼出形式

var res = extsv.invoke("getUserDefineKey", sourceKeyCode);

 

戻り値

成功の場合、割り当てられている変換先ハードウェアキーのキーコードを返します。
失敗の場合、-1を返します。

 

引数

integer sourceKeyCode

変換元ハードウェアキーのキーコードを指定します。
キーコードについては、キーの種類についてを参照してください。

 

 

setScannerOptionメソッド

説明

スキャナの詳細設定を設定します。

引数に誤りがある場合、例外が発生します。

 

呼出形式

extsv.invoke("setScannerOption", key, value);

 

戻り値

なし

 

引数

String key

詳細設定の項目名を指定します。大文字・小文字は区別しません。

以下の値のいずれかを指定します。

設定項目
decoder_code39_verify_check_digitCode39チェックデジット確認
decoder_code39_report_check_digitCode39チェックデジット転送
picklistピックリスト(中心読み取りモード)
decoder_upca_preambleUPC-A プレアンブルモード

 

 

integer value

詳細設定の項目の設定値を指定します。値の解釈や例外と判定する範囲はkeyの指定内容によって異なります。

key設定項目設定内容
decoder_code39_verify_check_digitCode39チェックデジット確認 Code39のチェックデジットを確認するかどうかを指定します。
$TRUE: 確認する。チェックデジットが正しくないバーコードは読み取りません。
$FALSE: 確認しない。チェックデジットが正しくないバーコードでも読み取ります。
decoder_code39_report_check_digitCode39チェックデジット転送 Code39のチェックデジットを転送するかどうかを指定します。この設定は「Code39チェックデジット確認」の設定が$TRUEであるときのみ動作します。
$TRUE: 転送する。各スキャン方法による読み取りデータにチェックデジットが含まれます。
$FALSE: 転送しない。チェックデジットは読み取りデータに含まれません。
picklistピックリスト(中心読み取りモード) ピックリスト(中心読み取りモード)のモードを指定します。
0: 無効。スキャンの視野内のバーコードを読み取ります。
1: ハードウェア。スキャンの視野内の中心にあるバーコードのみ読み取ります。
2: ソフトウェア。スキャンの視野内の中心にあるバーコードのみ読み取ります。
decoder_upca_preambleUPC-A プレアンブルモード UPC-Aシンボルの読取時のプレアンブルを指定します。
0: プレアンブル指定なし
1: ナンバーシステムキャラクタ(NS)のみ
2: 国コード(先頭"0")+ナンバーシステムキャラクタ(NS)

 

 

 

getScannerOptionメソッド

説明

スキャナの詳細設定を取得します。

引数に誤りがある場合、例外が発生します。

 

呼出形式

var res = extsv.invoke("getScannerOption", key);

 

戻り値

詳細設定の項目の設定値を返します。戻り値が示す値の意味はkeyに指定した値で変化します。

詳細は引数の説明を参照してください。

 

引数

String key

詳細設定の項目名を指定します。大文字・小文字は区別しません。

以下の値のいずれかを指定します。

設定項目戻り値
decoder_code39_verify_check_digitCode39チェックデジット確認 $TRUE: 確認する
$FALSE: 確認しない
decoder_code39_report_check_digitCode39チェックデジット転送 $TRUE: 転送する
$FALSE: 転送しない
picklistピックリスト(中心読み取りモード) 0: 無効
1: ハードウェア
2: ソフトウェア
decoder_upca_preambleUPC-A プレアンブルモード 0: プレアンブル指定なし
1: ナンバーシステムキャラクタ(NS)のみ
2: 国コード(先頭"0")+ナンバーシステムキャラクタ(NS)

 

 

setAutoRestorerメソッド

説明

サービスの実行終了時、設定を変更前の状態に戻す処理を自動的に実行するかどうかを設定します。

 

有効にすると、このメソッドの実行後の各種設定機能による設定操作を記録します。
サービスの実行終了時まで設定が有効であった場合は、該当する設定の値を自動的にこのメソッドの実行前のものに戻します。

このメソッドの実行前に行った設定は元に戻しません。
サービス終了前に設定を有効から無効に切り替えた場合、設定を元に戻しません。
このメソッドの機能によって行う設定を元に戻す処理は、サービスが強制終了した場合など、実行終了の仕方によっては正しく行えないことがあります。

デフォルト設定はすべて無効(実行しない)です。

 

呼出形式

extsv.invoke("setAutoRestorer", type, enabled);

 

戻り値

なし

 

引数

integer type

設定の種類を指定します。以下の値を指定できます。

設定内容
1setUserDefineKeyメソッドによるキー割当

 

 

boolean enabled

設定の有効または無効を指定します。デフォルトは無効です。

 

 

systemRebootメソッド

説明

端末の電源を再起動します。
なお、呼び出したBiz/Browserは強制的に終了します。

 

呼出形式

extsv.invoke("systemReboot");

 

戻り値

なし

 

引数

なし

 

 

ReadBarcodeイベント

説明

連続スキャンでバーコードを読み取ったときに発生します。

 

Eventオブジェクトには以下の子オブジェクトが付加されています。

名前

説明

integer

type

バーコード種別

String

data

バーコードのデータの文字列表現

String

rawdata

バーコードのデータの生データ(バイト列)をBase64エンコードした文字列(※)

※Biz/BrowserのBase64Decoderクラスを用いてBase64デコードすることでバイナリデータを復元することができます。
 読み込むバーコードに日本語の文字を含む場合や、バイナリデータを含む場合に使用できます。

 

 

 

キー割り当てに使用することができるキーの種類について

 

setUserDefineKeyメソッド等の引数sourceKeyCodeで割り当てることができるキーの種類の一覧です。
端末のモデルによって割り当てが可能なキーが異なります。対応しているキーはゼブラ開発者向けサイトのリファレンスマニュアルや端末本体設定を参照してください。

対応キー識別名称
70ボタン0
81ボタン1
92ボタン2
103ボタン3
114ボタン4
125ボタン5
136ボタン6
147ボタン7
158ボタン8
169ボタン9
19UPボタンUP
20DOWNボタンDOWN
21LEFTボタンLEFT
22RIGHTボタンRIGHT
24VOLUMEUPボタンVOLUMEUP
25VOLUMEDOWNボタンVOLUMEDOWN
56.ボタンDOT
59SHIFTボタンSHIFT
61TABボタンTAB
66ENTERボタンENTER
67BackSpaceボタンBACKSPACE
111ESCボタンESC
113CTRLボタンCTRL
131F1ボタンF1
132F2ボタンF2
133F3ボタンF3
134F4ボタンF4
135F5ボタンF5
136F6ボタンF6
137F7ボタンF7
138F8ボタンF8
139F9ボタンF9
140F10ボタンF10
141F11ボタンF11
142F12ボタンF12
1001グリップトリガーボタンGRIP_TRIGGER
1002グリップトリガーボタン2GRIP_TRIGGER_2
1003左トリガーボタン1LEFT_TRIGGER_1
1004左トリガーボタン2LEFT_TRIGGER_2
1005右トリガーボタン1RIGHT_TRIGGER_1
1006右トリガーボタン2RIGHT_TRIGGER_2
1007左トリガーボタンLEFT_TRIGGER
1008右トリガーボタンRIGHT_TRIGGER
1009中央トリガーボタンCENTER_TRIGGER
1010ガントリガーボタンGUN_TRIGGER
1011P1ボタンP1
1012DIAMONDボタンDIAMOND
1013スキャンボタンSCAN
1014BLUEボタンSYMBOL_BLUE
1015CLボタンCL