KEYENCE BT-A1000端末制御モジュールの機能一覧

 

 

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

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

 

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

メーカ

対応機種

サービスID値

バージョン

Biz/Browserの対応バージョン

キーエンス

BT-A1000
BT-A2000

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

v1.0.0

v1.2.0以上

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

 

使用例

/* 本端末制御モジュール専用サービスID(本サービスにおいて固定値) */
String SERVICE_ID = "jp.co.opst.biz.util.poweruptool.keyencepoweruptool/.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);
	}
}

目次

 

メソッド名 概要
startScanBarcode バーコードの読み取り処理を行い、読み込んだバーコードのデータおよび種別を返します。
startScanBarcodeContinuous 連続スキャンを開始します。
stopScanBarcode 連続スキャンを終了します。
setNotificationBuzzer 端末の各種通知音の有効・無効を設定します。
getNotificationBuzzer 端末の各種通知音の有効・無効設定を取得します。
setNotificationVibrator 端末の各種通知バイブレータの有効・無効を設定します。
getNotificationVibrator 端末の各種通知バイブレータの有効・無効設定を取得します。
setScanTriggerMode トリガーモードを設定します。
getScanTriggerMode トリガーモードを取得します。
setCharsetEncoding スキャン結果データの文字コードのエンコード方法を設定します。
getCharsetEncoding スキャン結果データの文字コードのエンコード方法を取得します。
setScanKeyOutput キーボード出力を行うかどうかを設定します。
getScanKeyOutput キーボード出力を行うかどうかの設定値を取得します。
setBarcodeEnabled 指定したバーコードを読み取り対象にするかどうかを指定します。
isBarcodeEnabled 指定したバーコードが読み取り対象かどうかを取得します。
setOCRDateRange 読取日付範囲を設定します。
getOCRDateRange 読取日付範囲を取得します。
setOCRReadEra 和暦認識の設定を行います。
getOCRReadEra 和暦認識の設定を取得します。
setOCRKanjiBME 上中下の漢字を置き換える日にちを設定します。
getOCRKanjiBME 上中下の漢字を置き換える日にちを取得します。
setOCRSubStringCount 一回のスキャンで同時に読み取る文字列数を設定します。
getOCRSubStringCount 同時に読み取る文字数を取得します。
setOCRMultiSubStringArrangement 複数の文字列を読み取る際の文字列の並びを設定します。
getOCRMultiTargetArrangement 複数の文字列を読み取る際の文字列の並びを取得します。
setOCRPattern OCR認識パターンを切り替えます。
getOCRPattern OCR認識パターンを取得します。
setOCRDateFormat 検出する日付の順番、英字表記の月の読み取りについての設定を行います。
getOCRDateFormat 検出する日付の順番、英字表記の月の読み取り設定を取得します。
setOCRReadDateSettings 日付形式の設定を行います。
getOCRReadDateSettings 日付形式の設定を取得します。
setOCRStringFormat 文字列の読み取りフォーマットを設定します。
getOCRStringFormat 文字列の読み取り形式を取得します。
setOCRStringOutput 文字列の出力フォーマットを設定します。
getOCRStringOutput 文字列の出力フォーマットを取得します。
setOCRDateOutput 日付の出力フォーマットを設定します。
getOCRDateOutput 日付のフォーマット設定を取得します。
setOCRMultiTargetOutput 複数の文字列を読み取った出力結果のフォーマットを設定します。
getOCRMultiTargetOutput 複数の文字列を読み取った出力結果のフォーマットを取得します。
setOCRConditionLevel 文字検出の認識レベルを設定します。
getOCRConditionLevel 文字検出の認識レベルを取得します。
setOCRDetectionRotation 文字列が回転しているかどうかを設定します。
getOCRDetectionRotation 文字列が回転しているかどうかの設定を取得します。
setOCRDetectionValidation 背景のムラなど、文字列が読みづらい場合の設定を行います。
getOCRDetectionValidation 背景のムラなど、文字列が読みづらい場合の設定を取得します。
setOCRDetectionContacting 近接した文字列の検出に関する設定を行います。
getOCRDetectionContacting 近接した文字列の検出に関する設定を取得します。
setOCREnableCombi OCRとバーコードの読取の組み合わせを設定します。
changeConfigGroup 使用する読み取り設定を指定します。設定は10個まで保存できます。
getCurrentConfigGroup 現在使用している読み取り設定の番号を取得します。
setCollectionMode ハードウェアのトリガーによるスキャンの収集方法の設定を行います。
getCollectionMode ハードウェアのトリガーによるスキャンの収集方法の設定を取得します。
startScanBarcodeCollection 累積収集、もしくは一括収集で複数のバーコードを読み取り、読み込んだバーコードのデータおよび種別を返します。
startScanBarcodeCollectionContinuous 累積収集、もしくは一括収集で連続スキャンを開始します。
getBarcodeCollection 累積収集、もしくは一括収集によって読み込んだバーコードのデータおよび種別を返します。
startLED 端末のLED通知を点灯します。
stopLED 端末のLED通知を消灯します。
ReadBarcode startScanBarcodeContinuousメソッドによる連続スキャンでバーコードを読み取ったときに発生します。
ReadBarcodeCollection 累積収集、もしくは一括収集のスキャン完了時に発生します。

 

startScanBarcodeメソッド

説明

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

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

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

 

呼出形式

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

 

戻り値

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

 

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

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

 

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

バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5Aztec
6郵便カスタマーバーコード
9ITF
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
17QRコード
18GS1 DataBar
21GS1 Composite CC-A/B/C
24Maxicode
25PDF417
26Data Matrix
28OCR
29STF(Industrial 2 of 5)
30COOP 2 of 5

    ※ 以下のバーコードはバーコード種別が異なる形で検知します。

      ・ UPC-E は、 通常は、2( EAN-8(JAN-8) )で検知しますが、端末の読み取り設定(JAN/EAN/UPC>NS付加)を有効にすることにより3として検知させることができます。

      ・ GS1-128 は、 11( CODE-128 )で検知します。

      ・ Micro PDF は、 25( PDF417 )で検知します。

      ・ GS1 Composite CC-C は、 端末の読み取り設定(Composite(GS1-128)>タイプ:CC A/B/C)を有効にすることにより検知させることができます。

 

引数

integer timeoutMs

スキャンのタイムアウト時間[msec]。0以下の値を設定するとデフォルトの時間だけ待機します。
デフォルトのタイムアウト時間は7秒です。

 

使用例

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を設定すると、同一バーコードは異なるバーコードを読み取るまで読み取りません。

 

使用例

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 ) {
        var res = ^.exs.Invoke("startScanBarcodeContinuous", 3);
    }
}
		

 

stopScanBarcodeメソッド

説明

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

 

呼出形式

extsv.invoke("stopScanBarcode");

 

戻り値

なし

 

引数

なし

 

setNotificationBuzzerメソッド

説明

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

 

呼出形式

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

 

戻り値

なし

 

引数

integer type

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

説明
1スキャン成功時
5累積収集による収集データの更新時

 

 

boolean enabled

通知音を有効にするかどうか。

 

 

getNotificationBuzzerメソッド

説明

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

 

呼出形式

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

 

戻り値

typeに指定した種類の通知音が有効ならtrue、そうでなければfalseを返します。

 

引数

integer type

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

説明
1スキャン成功時
5累積収集による収集データの更新時

 

 

setNotificationVibratorメソッド

説明

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

 

呼出形式

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

 

戻り値

なし

 

引数

integer type

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

説明
1スキャン成功時
5累積収集による収集データの更新時

 

 

boolean enabled

通知バイブレータを有効にするかどうか。

 

 

getNotificationVibratorメソッド

説明

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

 

呼出形式

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

 

戻り値

typeに指定した種類の通知バイブレータが有効ならtrue、そうでなければfalseを返します。

 

引数

integer type

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

説明
1スキャン成功時
5累積収集による収集データの更新時

 

 

setScanTriggerModeメソッド

説明

トリガーモードを設定します。

 

呼出形式

extsv.invoke("setScanTriggerMode", mode);

 

戻り値

なし

 

引数

integer mode

トリガーモードの種類。下記の値を指定できます。

説明
0モメンタリ
トリガーキーを押している間だけ読み取り処理を行います。離すか、バーコードの読み取りに成功すると停止します。
1オートオフ
トリガーキーを押すと読み取り処理を行います。バーコードの読み取りに成功するか、一定時間が経過するとタイムアウトして停止します。
2離して読み
トリガーキーを押している間だけレーザーの照射のみが行われます。その状態で離すと読み取り処理を行います。
3ハンズフリー
トリガーキーを押すと読み取り処理を行います。次にトリガーキーが押されるまでの間、レーザーを照射し続けて自動的に読み取りを再開します。
4ダブルクリック
トリガーキー押下1回目にエイマーを点灯し(この時点では読み取りはしません)、トリガーキー押下2回目に読み取りを開始します。読み取り停止条件はオートオフと同じです。

 

 

getScanTriggerModeメソッド

説明

トリガーモードを取得します。

 

呼出形式

var res = extsv.invoke("getScanTriggerMode");

 

戻り値

トリガーモードの種類。下記の値が戻ります。

説明
0モメンタリ
トリガーキーを押している間だけ読み取り処理を行います。離すか、バーコードの読み取りに成功すると停止します。
1オートオフ
トリガーキーを押すと読み取り処理を行います。バーコードの読み取りに成功するか、一定時間が経過するとタイムアウトして停止します。
2離して読み
トリガーキーを押している間だけレーザーの照射のみが行われます。その状態で離すと読み取り処理を行います。
3ハンズフリー
トリガーキーを押すと読み取り処理を行います。次にトリガーキーが押されるまでの間、レーザーを照射し続けて自動的に読み取りを再開します。
4ダブルクリック
トリガーキー押下1回目にエイマーを点灯し(この時点では読み取りはしません)、トリガーキー押下2回目に読み取りを開始します。読み取り停止条件はオートオフと同じです。

 

引数

なし

 

 

 

setCharsetEncodingメソッド

説明

読み取ったバーコードのデータを、どの文字コードでエンコードするかを指定します。デフォルトはUTF-8です。

各種読み取りで取得したバーコードデータの文字列表現について、読み取ったデータを規定の文字エンコード設定でエンコードします。

データと設定のエンコードが異なるとき、文字化けすることがあります。

 

呼出形式

var res = extsv.invoke("setCharsetEncoding", charset);

 

戻り値

成功すると0。そうでなければ-1が返ります。

 

引数

String charset

エンコード設定。以下から値を指定します。大文字小文字は区別しません。また、記号の一部など表記揺れにも対応します。

文字コード
ISO-8859-1、CP1252、Latin1ISO-8859-1
Shift_JISShift_JIS
UTF-8UTF-8
GB18030GB18030

 

 

getCharsetEncodingメソッド

説明

読み取ったバーコードのデータを、どの文字コードでエンコードするかの設定を取得します。デフォルトはUTF-8です。

 

呼出形式

var res = extsv.invoke("getCharsetEncoding");

 

戻り値

現在のエンコード設定を、「ISO-8859-1」「Shift_JIS」「UTF-8」「GB18030」のいずれかの文字列で返します。

 

引数

なし

 

 

setScanKeyOutputメソッド

説明

スキャン読み取りした結果のキーボード出力を行うかどうかを設定します。

 

呼出形式

var res = extsv.invoke("setScanKeyOutput", enabled);

 

戻り値

成功すると0。そうでなければ-1が返ります。

 

引数

boolean enabled

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

 

 

getScanKeyOutputメソッド

説明

スキャン読み取り結果のキーボード出力を行うかどうかの設定値を取得します。

 

呼出形式

var res = extsv.invoke("getScanKeyOutput");

 

戻り値

有効なら1、無効なら0が返ります。

 

引数

なし

 

 

 

setBarcodeEnabledメソッド

説明

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

 

呼出形式

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

 

戻り値

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

 

引数

integer type

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

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

バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5Aztec
6郵便カスタマーバーコード
9ITF
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
17QRコード
18GS1 DataBar
21GS1 Composite CC-A/B/C
24Maxicode
25PDF417
26Data Matrix
28OCR
29STF(Industrial 2 of 5)
30COOP 2 of 5

 

※EAN-13、EAN-8、UPC-E、UPC-Aの設定はすべて共通となります。

※GS1 Composite CC-C は、 端末の読み取り設定(Composite(GS1-128)>タイプ:CC A/B/C)を有効にすることにより検知させることができます。

 

 

boolean enabled

読み取りを行う場合は$TRUEを、読み取りを行わない場合は$FALSEを指定します。

 

isBarcodeEnabledメソッド

説明

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

 

呼出形式

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

 

戻り値

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

 

引数

integer type

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

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

バーコードの種類
1EAN-13(JAN-13)
2EAN-8(JAN-8)
3UPC-E
4UPC-A
5Aztec
6郵便カスタマーバーコード
9ITF
11CODE-128
12CODE-93
13CODE-39
14CODABAR(NW-7)
17QRコード
18GS1 DataBar
21GS1 Composite CC-A/B/C
24Maxicode
25PDF417
26Data Matrix
28OCR
29STF(Industrial 2 of 5)
30COOP 2 of 5

 

※EAN-13、EAN-8、UPC-E、UPC-Aの設定はすべて共通となります。

※GS1 Composite CC-A/Bについて、[GS1-Databar, EAN/UPC, GS1-128]合成シンボルのみ有効で、GS1 Composite CC-Cについては[GS1-128]合成シンボルのみ有効です。

 

setOCRDateRangeメソッド

説明

読取日付範囲を設定します。

 

呼出形式

var res = extsv.invoke("setOCRDateRange", yearStart, monthStart, dayStart, yearEnd, monthEnd, dayEnd);

 

戻り値

成功すると0が返ります。

 

引数

integer yearStart

開始年(2000-2199)

 

 

integer monthStart

開始月(1-12)

 

 

integer dayStart

開始日(1-31)

 

 

integer yearEnd

終了年(2000-2199)

 

 

integer monthEnd

終了月(1-12)

 

 

integer dayEnd

終了日(1-31)

 

 

getOCRDateRangeメソッド

説明

読取日付範囲を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDateRange");

 

戻り値

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

 

integer		yearStart	読み取り開始年
integer		monthStart	読み取り開始月
integer		dayStart	読み取り開始日
integer		yearEnd		読み取り終了年
integer		monthEnd	読み取り終了月
integer		dayEnd		読み取り終了日

 

引数

なし

 

setOCRReadEraメソッド

説明

和暦認識の設定を行います。

 

呼出形式

var res = extsv.invoke("setOCRReadEra", valid1, firstYear1, rangeMin1, rangeMax1, valid2, firstYear2, rangeMin2, rangeMax2);

 

戻り値

成功すると0が返ります。

 

引数

boolean valid1

和暦1を有効にするかどうか。

 

 

integer firstYear1

和暦1の元年(1989-2039)

 

 

integer rangeMin1

和暦1として認識する最小年(1-99)

 

 

integer rangeMax1

和暦1として認識する最大年(1-99)

 

 

boolean valid2

和暦2を有効にするかどうか。

和暦2のみを有効にすることはできません。

 

 

integer firstYear2

和暦2の元年(1989-2039)

 

 

integer rangeMin2

和暦2として認識する最小年(1-99)

 

 

integer rangeMax2

和暦2として認識する最大年(1-99)

 

 

getOCRReadEraメソッド

説明

和暦認識の設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRReadEra");

 

戻り値

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

 

boolean		valid1		和暦1を有効にするかどうか
integer		firstYear1	和暦1の元年
integer		rangeMin1	和暦1として認識する最小年
integer		rangeMax1	和暦1として認識する最大年
boolean		valid2		和暦2を有効にするかどうか
integer		firstYear2	和暦2の元年
integer		rangeMin2	和暦2として認識する最小年
integer		rangeMax2	和暦2として認識する最大年

 

引数

なし

 

setOCRKanjiBMEメソッド

説明

上中下の漢字を置き換える日にちを設定します。

 

例えばreplaceBに10を指定すると、「2020.2上」を「2020年2月10日」として認識します。

上中下を置き換える場合、日付の区切り文字は「.」(ピリオド)である必要があります。また、setOCRReadDateSettingsメソッドで「日にちあり」または「日にちあり/無し」を指定する必要があります。

 

呼出形式

ver res = extsv.invoke("setOCRKanjiBME", enable, replaceB, replaceM, replaceE);

 

戻り値

成功すると0が返ります。

 

引数

boolean enable

上中下の置換を行うかどうか。

 

 

integer replaceB

上を置き換える日にち(1-31)

 

 

integer replaceM

中を置き換える日にち(1-31)

 

 

integer replaceE

下を置き換える日にち(1-31)

 

 

getOCRKanjiBMEメソッド

説明

上中下の漢字を置き換える日にちを取得します。

 

呼出形式

var res = extsv.invoke("getOCRKanjiBME");

 

戻り値

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

 

boolean		enable		上中下の置換を行うかどうか
integer		replaceB	上を置き換える日にち
integer		replaceM	中を置き換える日にち
integer		replaceE	下を置き換える日にち

 

引数

なし

 

setOCRSubStringCountメソッド

説明

一回のスキャンで同時に読み取る文字列数を設定します。

 

呼出形式

var res = extsv.invoke("setOCRSubStringCount", count);

 

戻り値

成功すると0が返ります。

 

引数

integer count

同時に読み取る文字列の数(1-4)

 

 

getOCRSubStringCountメソッド

説明

同時に読み取る文字数を取得します。

 

呼出形式

var res = extsv.invoke("getOCRSubStringCount");

 

戻り値

同時に読み取る文字列の数

 

引数

なし

 

setOCRMultiSubStringArrangementメソッド

説明

複数の文字列を読み取る際の文字列の並びを設定します。

 

呼出形式

var res = extsv.invoke("setOCRMultiSubStringArrangement", arrangement);

 

戻り値

成功すると0が返ります。

 

引数

integer arrangement

文字列の並びを指定します。以下の値を指定します。

説明
1自動
2縦方向
3横方向

 

 

getOCRMultiTargetArrangementメソッド

説明

複数の文字列を読み取る際の文字列の並びを取得します。

 

呼出形式

var res = extsv.invoke("getOCRMultiTargetArrangement");

 

戻り値

文字列の並びが返ります。以下の値が返ります。

説明
1自動
2縦方向
3横方向

 

引数

なし

 

setOCRPatternメソッド

説明

OCR認識パターンを切り替えます。

 

substringで指定するインデックス値は、複数の文字列を検出した場合の文字列の順番に対応します。

 

呼出形式

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

 

戻り値

成功すると0が返ります。

 

引数

integer substring

パターンを切り替える文字列のインデックス値(0-3)

 

 

integer type

認識のパターン。以下の値を指定します。

説明
0文字列
1日付

 

 

 

getOCRPatternメソッド

説明

OCR認識パターンを取得します。

 

substringで指定するインデックス値は、複数の文字列を検出した場合の文字列の順番に対応します。

 

呼出形式

var res = extsv.invoke("getOCRPattern", substring);

 

戻り値

認識のパターン。以下の値が返ります。

説明
0文字列
1日付

 

引数

integer substring

パターンを取得する文字列のインデックス値(0-3)

 

 

setOCRDateFormatメソッド

説明

検出する日付の順番、英字表記の月の読み取りについての設定を行います。

 

呼出形式

var res = extsv.invoke("setOCRDateFormat", order, alphabet);

 

戻り値

成功すると0が返ります。

 

引数

integer order

日付形式。以下の値を指定します。

バーコードの種類
1YMD形式
2DMY形式
4MDY形式

 

 

integer alphabet

英字表記の月を読み取るかどうかを指定します。以下の値を指定します。

バーコードの種類
0読み取らない
1大文字、小文字を読み取る
2大文字のみ読み取る

 

 

getOCRDateFormatメソッド

説明

検出する日付の順番、英字表記の月の読み取り設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDateFormat");

 

戻り値

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

 

integer		order		日付形式(1:YMD形式、2:DMY形式、4:MDY形式)
integer		alphabet	英字表記の月の読取(0:読み取らない、1:大文字、小文字を読み取る、2:大文字のみ読み取る)

 

引数

なし

 

setOCRReadDateSettingsメソッド

説明

日付形式の設定を行います。

 

呼出形式

var res = extsv.invoke("setOCRReadDateSettings", digit, dayExist, oneDisit, delimiter);

 

戻り値

成功すると0が返ります。

 

引数

integer digit

年表記の桁数。以下の値を指定します。

バーコードの種類
24桁のみ
32桁or4桁

 

 

integer dayExist

日にちの有無を指定します。以下の値を指定します。

バーコードの種類
1日にちありのみ
2日にち無しのみ
3日にちあり/無し

 

 

boolean oneDisit

1桁の月日を有効にするかどうかを指定します。trueを指定すると、月日が1桁の日付を検出します。

 

 

integer delimiter

日付のセパレータとして判定する文字の種類を指定します。以下の値の組み合わせとなります。

バーコードの種類
1スラッシュ
2ピリオド
4ハイフン
8スペース
16年月
32なし

 

 

getOCRReadDateSettingsメソッド

説明

日付形式の設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRReadDateSettings");

 

戻り値

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

 

integer		digit		年表記の桁数(2:4桁のみ 3:2桁or4桁)
integer		dayExist	日にちの有無(1:日にちありのみ 2:日にち無しのみ 3:日にちあり/無し)
boolean		oneDisit	1桁の月日を有効にするかどうか(false:無効 true:有効)
integer		delimiter	日付のセパレータとして判定する文字の種類。次の数の組み合わせとなります(1:スラッシュ 2:ピリオド 4:ハイフン 8:スペース 16:年月 32:なし 63:すべて)

 

引数

なし

 

setOCRStringFormatメソッド

説明

文字列の読み取りフォーマットを設定します。

 

呼出形式

var res = extsv.invoke("setOCRStringFormat", format);

 

戻り値

成功すると0が返ります。

 

引数

String format

文字列認識のフォーマット(最大1024文字)

フォーマットの詳細については、BT-A1000シリーズのアプリケーション開発ガイドをご参照ください。

 

 

getOCRStringFormatメソッド

説明

文字列の読み取り形式を取得します。

 

呼出形式

var res = extsv.invoke("getOCRStringFormat");

 

戻り値

文字列認識のフォーマット

 

引数

なし

 

setOCRStringOutputメソッド

説明

文字列の出力フォーマットを設定します。

 

呼出形式

var res = extsv.invoke("setOCRStringOutput", removeMarks, removeSpaces, trimmingWordLists);

 

戻り値

成功すると0が返ります。

 

引数

boolean removeMarks

出力文字列から記号を取り除くかどうか

 

 

boolean removeSpaces

出力文字列からスペースを取り除くかどうか

 

 

String trimmingWordLists

指定文字よりも右の文字を出力します。

複数の文字を指定する場合はカンマで区切ります。(例 "/,#,No")

 

 

getOCRStringOutputメソッド

説明

文字列の出力フォーマットを取得します。

 

呼出形式

var res = extsv.invoke("getOCRStringOutput");

 

戻り値

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

 

boolean		removeMarks		出力文字列から記号を取り除くかどうか
boolean		removeSpaces		出力文字列からスペースを取り除くかどうか
String		trimmingWordLists	trimmingWordListsで指定された文字列より右の文字を出力する

 

引数

なし

 

setOCRDateOutputメソッド

説明

日付の出力フォーマットを設定します。

 

呼出形式

var res = extsv.invoke("setOCRDateOutput", order, delimiter);

 

戻り値

成功すると0が返ります。

 

引数

integer order

年月日の並びを指定します。下記の値を指定します。

説明
1YYYYMMDD
2YYYYMM
3YYMMDD
4YYMM
5MMDDYYYY
6MMYYYY
7MMDDYY
8MMYY
9DDMMYYYY
10DDMMYY

 

 

integer delimiter

セパレータの種類

説明
0なし
1スラッシュ
2ピリオド
4ハイフン
8スペース

 

 

getOCRDateOutputメソッド

説明

日付のフォーマット設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDateOutput");

 

戻り値

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

 

integer		order		年月日の並び(1:YYYYMMDD、2:YYYYMM、3:YYMMDD、4:YYMM、5:MMDDYYYY、6:MMYYYY、7:MMDDYY、8:MMYY、9:DDMMYYYY、10:DDMMYY)
integer		delimiter	セパレータの種類(0:なし 1:スラッシュ「/」 2: ピリオド「.」 4: ハイフン「-」 8: スペース「 」)

 

引数

なし

 

setOCRMultiTargetOutputメソッド

説明

複数の文字列を読み取った出力結果のフォーマットを設定します。

 

呼出形式

var res = extsv.invoke("setOCRMultiTargetOutput", delimiterEnabled, delimiter);

 

戻り値

成功すると0が返ります。

 

引数

boolean delimiterEnabled

複数の文字列を検出した際に、結果の文字列をセパレータで接続して出力するかどうか

 

 

String delimiter

セパレータの文字

 

 

getOCRMultiTargetOutputメソッド

説明

複数の文字列を読み取った出力結果のフォーマットを取得します。

 

呼出形式

var res = extsv.invoke("getOCRMultiTargetOutput");

 

戻り値

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

 

boolean		delimiterEnabled	文字列を結合する際にセパレータを有効にするかどうか
String		delimiter		セパレータの文字

 

引数

なし

 

setOCRConditionLevelメソッド

説明

文字検出の認識レベルを設定します。

 

呼出形式

var res = extsv.invoke("setOCRConditionLevel", successAlert, alertFailure);

 

戻り値

成功すると0が返ります。

 

引数

integer successAlert

成功とアラートの閾値(0-2)

 

 

integer alertFailure

失敗とアラートの閾値(0-4)

 

 

getOCRConditionLevelメソッド

説明

文字検出の認識レベルを取得します。

 

呼出形式

var res = extsv.invoke("getOCRConditionLevel");

 

戻り値

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

 

integer		successAlert	成功とアラートの閾値
integer		alertFailure	失敗とアラートの閾値

 

引数

なし

 

setOCRDetectionRotationメソッド

説明

文字列が回転しているかどうかを設定します。

 

呼出形式

var res = extsv.invoke("setOCRDetectionRotation", stringRotation);

 

戻り値

成功すると0が返ります。

 

引数

integer stringRotation

文字列の回転。以下の値を指定します。

説明
1回転なし
2180度回転
3両方

 

 

getOCRDetectionRotationメソッド

説明

文字列が回転しているかどうかの設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDetectionRotation");

 

戻り値

文字列の回転の設定。以下の値が返ります。

説明
1回転なし
2180度回転
3両方

 

 

引数

なし

 

setOCRDetectionValidationメソッド

説明

背景のムラなど、文字列が読みづらい場合の設定を行います。

 

呼出形式

var res = extsv.invoke("setOCRDetectionValidation", irregularLevel, heightValidation, charactersCrossingOverLines);

 

戻り値

成功すると0が返ります。

 

引数

integer irregularLevel

背景のムラ。以下の値を指定します。

説明
1ムラなし
2ムラが薄い
3ムラが濃い

 

 

boolean heightValidation

高さにばらつきがある文字列かどうか。trueを指定すると、高さにばらつきがある文字列を検出します。

 

 

boolean charactersCrossingOverLines

枠線をまたぐ文字列かどうか。trueを指定すると、枠線をまたぐ文字列を検出します。

 

 

getOCRDetectionValidationメソッド

説明

背景のムラなど、文字列が読みづらい場合の設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDetectionValidation");

 

戻り値

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

 

integer		irregularLevel			背景のムラ(1:ムラなし 2:ムラが薄い 3:ムラが濃い)
boolean		heightValidation		高さにばらつきがある文字列を検出するかどうか
boolean		charactersCrossingOverLines	枠線をまたぐ文字列を検出するかどうか

 

引数

なし

 

setOCRDetectionContactingメソッド

説明

近接した文字列の検出に関する設定を行います。

 

呼出形式

var res = extsv.invoke("setOCRDetectionContacting", marginAtTopOrBottom, verticallyContacting, horizontallyContacting);

 

戻り値

成功すると0が返ります。

 

引数

boolean marginAtTopOrBottom

文字列の上下にマージンがあるかどうか。falseを指定すると、上下にマージンがなくても文字列として検出します。

 

 

boolean verticallyContacting

文字が上下に接触している文字列かどうか。trueを指定すると、文字が上下に接触している場合でも別々の文字として検出します。

 

 

boolean horizontallyContacting

文字が左右に接触している文字列かどうか。trueを指定すると、文字が左右に接触している場合でも別々の文字として検出します。

 

 

getOCRDetectionContactingメソッド

説明

近接した文字列の検出に関する設定を取得します。

 

呼出形式

var res = extsv.invoke("getOCRDetectionContacting");

 

戻り値

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

 

boolean		marginAtTopOrBottom		文字列の上下にマージンがあるかどうか
boolean		verticallyContacting		文字が上下に接触している文字列かどうか
boolean		horizontallyContacting		文字が左右に接触している文字列かどうか

 

引数

なし

 

setOCREnableCombiメソッド

説明

OCRとバーコードの読取の組み合わせを設定します。

 

本メソッドは各バーコード読み取り許可をするコード種別をそれぞれ一括で変更します。

コード種別を個別に変更する場合は、setBarcodeEnabledメソッドをご利用ください。

 

呼出形式

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

 

戻り値

成功すると0が返ります。

 

引数

integer type

読取の組み合わせ。以下の値を指定します。

説明
1OCR、バーコードの両方を読み取る
2OCRのみを読み取る
3バーコードのみを読み取る

 

 

changeConfigGroupメソッド

説明

使用する読み取り設定を指定します。設定は10個まで保存できます。

設定を切り替えると、読み取り対象はOCR、バーコード両方に変更されます。

 

呼出形式

var res = extsv.invoke("changeConfigGroup", id);

 

戻り値

成功すると0が返ります。

 

引数

integer id

読み取り設定のID(0-9)

 

 

getCurrentConfigGroupメソッド

説明

現在使用している読み取り設定の番号を取得します。

 

呼出形式

var res = extsv.invoke("getCurrentConfigGroup");

 

戻り値

現在の読み取り設定のID

 

引数

なし

 

setCollectionModeメソッド

説明

ハードウェアのトリガーによるスキャンの収集方法の設定を行います。

codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。

収集結果はgetBarcodeCollectionメソッドで取得することができます。

 

呼出形式

var res = extsv.invoke("setCollectionMode", method, codeCount, rejectSameCode);

 

戻り値

成功すると0が返ります。

 

引数

integer method

収集方法を指定します。以下の値を指定します。範囲外の値を指定した場合は累積収集となります。

説明
1累積収集
2一括収集

 

integer codeCount

収集するバーコードの数を指定します。最大値は収集方法によって異なります。範囲を超える値が指定された場合は、範囲内の値に丸め込みます。

収集方法設定値の範囲
累積収集1~1000
一括収集1~50

 

boolean rejectSameCode

同一のバーコードの読取を禁止するかどうか。trueを指定した場合、同じバーコードは収集されません。

一括収集の場合のみ有効です。

 

 

getCollectionModeメソッド

説明

ハードウェアのトリガーによるスキャンの収集方法の設定を取得します。

 

呼出形式

var res = extsv.invoke("getCollectionMode");

 

戻り値

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

 

integer		method		収集方法(1:累積収集、2:一括収集)
integer		codeCount	収集するバーコードの数
boolean		rejectSameCode	同一のバーコードの読取を禁止するかどうか

 

引数

なし

 

startScanBarcodeCollectionメソッド

説明

累積収集、もしくは一括収集で複数のバーコードを読み取り、読み込んだバーコードのデータおよび種別を返します。

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

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

 

setOCREnableCombiメソッドで読み取り対象をOCRのみにした場合は、codeCountの値に関わらず収集する文字列の数は1個となります。

複数の文字列を検出する場合は、setOCRSubStringCountメソッドで1より大きい値を指定してください。

 

システムのポップアップについて

本メソッドで累積収集を実行すると、以下のようなポップアップが表示されます。

このポップアップは現在の収集数を表示したり、読み取り操作を制御することができます。

ポップアップ中のボタンを押下すると、以下のような動作になります。

 

名称動作説明
キャンセル読み取りが停止し、処理が戻ります。戻り値は空になります。
出力読み取りが停止し、処理が戻ります。戻り値は空になりますが、読み取った内容はキーボード出力として扱います。

 

呼出形式

var res = extsv.invoke("startScanBarcodeCollection", method, timeoutMs, codeCount, rejectSameCode);

 

戻り値

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

 

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

 

引数

integer method

収集方法を指定します。以下の値を指定します。範囲外の値を指定した場合は累積収集となります。

説明
1累積収集
2一括収集

 

※収集方法が累積収集の場合、収集内容が更新されるとシステムが収集したデータを表示します。

 

 

integer timeoutMs

スキャンのタイムアウト時間[msec]。0以下の値を設定するとデフォルトの時間だけ待機します。
デフォルトのタイムアウト時間は7秒です。

 

 

integer codeCount

収集するバーコードの数を指定します。最大値は収集方法によって異なります。範囲を超える値が指定された場合は、範囲内の値に丸め込みます。

収集方法設定値の範囲
累積収集1~1000
一括収集1~50

 

 

boolean rejectSameCode

同一のバーコードの読取を禁止するかどうか。trueを指定した場合、同じバーコードは収集されません。

一括収集の場合のみ有効です。

 

使用例

var res = extsv.invoke("startScanBarcodeCollection", 1, 3000, 3, true);
for (var i = 0; i < res.length; i++) {
	//.MessageBox("データ:" + res[i]["data"] + "/種類:" + Str(res[i]["type"]) + "/生データ:" + Base64Decoder.Convert(res[i]["rawdata"]));
}
	

 

startScanBarcodeCollectionContinuousメソッド

説明

累積収集、もしくは一括収集で連続スキャンを開始します。

codeCountで指定された数だけバーコードが読み取られると、ExternalServiceオブジェクトからReadBarcodeCollectionイベントが発生します。

収集結果はgetBarcodeCollectionメソッドで取得することができます。

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

 

setOCREnableCombiメソッドで読み取り対象をOCRのみにした場合は、codeCountの値に関わらず収集する文字列の数は1個となります。

複数の文字列を検出する場合は、setOCRSubStringCountメソッドで1より大きい値を指定してください。

 

システムのポップアップについて

本メソッドで累積収集を実行すると、以下のようなポップアップが表示されます。

このポップアップは現在の収集数を表示したり、読み取り操作を制御することができます。

ポップアップ中のボタンを押下すると、以下のような動作になります。

 

名称動作説明
キャンセル読み取りは停止しません。
出力読み取りが停止します。戻り値は読み取ったデータを返します。

 

呼出形式

extsv.invoke("startScanBarcodeCollectionContinuous", method, sameInterval, codeCount, rejectSameCode);

 

戻り値

なし

 

引数

integer method

収集方法を指定します。以下の値を指定します。範囲外の値を指定した場合は累積収集となります。

説明
1累積収集
2一括収集

 

※収集方法が累積収集の場合、収集内容が更新されるとシステムが収集したデータを表示します。

 

 

integer sameInterval

同一収集結果の二度読み防止時間を、100ミリ秒単位で指定します。
同一の収集結果かどうかは、すべての収集結果が同じものかどうかで判断します。
1以上を設定すると、同一の収集結果を設定した時間が経過するまで読み取りません。
0を設定すると、同一の収集結果は異なるデータが収集されるまで読み取りません。

 

 

integer codeCount

収集するバーコードの数を指定します。最大値は収集方法によって異なります。最大値を超える値が指定された場合は、最大値に丸め込みます。

 

 

boolean rejectSameCode

同一のバーコードの読取を禁止するかどうか。trueを指定した場合、同じバーコードは収集されません。

一括収集の場合のみ有効です。

 

使用例

ExternalService exs{
	Function OnReadBarcodeCollection(e){
		var res = ^.exs.Invoke("getBarcodeCollection");
		if (res == null) {
			return;
		}
		for (var i= 0; i < res.length; i++) {
			var r = Form1.FlexView1.insertRow(1, 0);
			var str = res[i]["type"] + " : " + res[i]["data"];
			r.label = str;
		}
	}
}
Button Button51 {
    X = 199;
    Y = 333;
    Width = 80;
    Height = 54;
    Title = "スキャン開始";

    Function OnTouch( e ) {
        ^.exs.Invoke("startScanBarcodeCollectionContinuous", 2, 30, 3, true);
    }
}
		

 

getBarcodeCollectionメソッド

説明

累積収集、もしくは一括収集によって読み込んだバーコードのデータおよび種別を返します。

setCollectionModeメソッドを実行し、ハードウェアトリガーによって読み込んだバーコードのデータおよび種別

startScanBarcodeCollectionContinuousメソッドで読み込んだバーコードのデータおよび種別

 

呼出形式

var res = extsv.invoke("getBarcodeCollection");

 

戻り値

以下の3つの要素を持つ連想配列のArrayオブジェクト。収集結果が存在しない場合は空のArrayを返します。

 

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

 

引数

なし

 

startLEDメソッド

説明

端末の通知LEDを点灯します。

点灯処理中、別の通知などにより点灯情報が上書きされた場合、即座に中断します。

 

呼出形式

var ret = extsv.invoke("startLED", color, ontime, offtime, repeatCount);

 

戻り値

成功すると0が返ります。

 

引数

integer color

説明

1

緑色

2

赤色

3

黄色

4

水色

5

マゼンタ

6

青色

7

白色

 

 

integer ontime

点灯している時間[ms] 0~5000

 

 

integer offtime

消灯している時間[ms] 0〜5000

 

 

integer repeatCount

点灯と消灯を繰り返す回数[回] 1〜10

 

 

stopLEDメソッド

説明

端末の通知LEDを消灯します。

 

呼出形式

extsv.invoke("stopLED");

 

戻り値

なし

 

引数

なし

 

ReadBarcodeイベント

説明

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

 

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

名前

説明

String

type

バーコード種別

String

data

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

String

rawdata

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

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

 

 

 

ReadBarcodeCollectionイベント

説明

累積収集、もしくは一括収集のスキャン完了時に発生します。

setCollectionModeメソッドを実行し、ハードウェアトリガーによるスキャンの収集が完了した時。

startScanBarcodeCollectionContinuousメソッドによる連続スキャンでバーコードの収集が完了した時。

読み取り結果はgetBarcodeCollectionメソッドで取得します。