BHT-BASIC4.0:バーコードの読込み(バーコードスキャン)について
ハンディターミナルを使用する最大の要因は、バーコードの読込みを行うことです。
商品に貼られたバーコードや、商品棚に印刷されたバーコードを読み取り、
いろいろな作業を行います。
BHTシリーズで読込み可能なバーコードには EAN-13(JAN-13)、EAN-8 (JAN-8)、NW-7、Code39、Code93、Code128等があります。
バーコードを読込む処理は以下の一連の命令の実行で行います。
・OPEN命令によりバーコードデバイスをオープンする。
・バーコードが読込まれるのを待つ。
・バーコードバッファから読込まれた文字列を取得する。
・CLOSE命令によりバーコードデバイスをクローズする。
バーコードデバイスのオープンの OPEN命令 について説明します。
上記のほかにいろんな指定がありますが、それは各BHTの取説を見てください。
この例では読取モードとしてはモメンタリスイッチモードで、 読取コードは 共通商品コード、Code39の4桁~25桁、 Code128の4桁~25桁を可能としています。
このオープン例を使った簡単なテストプログラムを以下に示します。
実際の処理としては、上記のテストプログラムでは不十分です。 商品などのバーコードコードをスキャンする場合、 そのバーコードが準備されていればいいのですが、 準備できていないことがあります。
そんな時には、バーコードスキャンでもキー入力でも コード入力が可能な様に組んでおくことが必要です。
以下のソースはバーコードスキャンを途中でやめて、 キー入力出来る様にしたバーコード入力関数の例です。
この関数の処理は以下の様な仕様になっています。
(1)最初にカーソル位置を退避する。
(2)バーコードデバイスオープンを行い、キー入力とバーコードスキャンを待つ。
(3)バーコードスキャンがあれば、コードを変数に戻し、関数を終わる。
(4)[F4]キーが押下された場合は、戻り値にそのフラグを持って関数を終わる。
(5)[F1]キーが押下された場合は、キー入力処理になる。
(6)数字キーであれば入力文字列に追加する。
(7)[F2]キーが押下された場合は、バーコードスキャン(2)に戻る。
(8)[F4]キーが押下された場合は、戻り値にそのフラグを持って関数を終わる。
この関数はまだまだ足りない点があると思いますので、改造をして下さい。
■関連記事
⇒BHT-BASIC:DENSOのハンディターミナルの開発言語のBHT-BASIC4.0を使ってみた
⇒BHT-BASIC4.0:変数宣言の書き方(BHT-1300)
⇒BHT-BASIC4.0:変数宣言の書き方その2(BHT-1300)
⇒BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)
⇒BHT-BASIC4.0:演算子について(BHT-1300)
⇒BHT-BASIC4.0:画面への表示について(BHT-1300)
⇒BHT-BASIC4.0:キー入力について(BHT-1300)
⇒BHT-BASIC4.0:数値用キー入力関数(ユーザ定義関数)について(BHT-1300)
⇒BHT-BASIC4.0:ユーザ定義関数の値渡し・参照渡しについて(BHT-1300)
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数について
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその2
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその3
⇒BHT-BASIC4.0:TeraTermを使ってDENSOのハンディターミナルにファイル(プログラム)転送を行う方法
⇒BHT-BASIC4.0:I/OポートとWAIT、さらにTIMERについて(BHT-1300)
⇒BHT-BASIC4.0:データファイルの取り扱いについて(BHT-1300)
⇒BHT-BASIC4.0:データファイルの取り扱いについてその2(書込み・読込みの実用的な関数)
⇒BHT-BASIC4.0:データファイルの検索について(SEARCH関数)
⇒BHT-BASIC4.0:ユーザ関数の引数の仮変数に対する代入の注意点
⇒BHT-BASIC4.0:データファイルの削除等について(KILL、CLFILEのラッパ関数)
⇒BHT-BASIC4.0:ファイルの存在確認関数を作ってみました
⇒BHT-BASIC4.0:拡張関数のバイナリサーチ処理関数(BSEARCH.FN3)の使い方
⇒BHT-BASIC4.0:拡張関数のサーチ処理関数(SEARCH.FN3)の使い方
⇒BHT-BASIC4.0:簡単なメニュー表示・選択を行うユーザ関数について
⇒BHT-BASIC4.0:ファイル伝送におけるXFILE命令の使い方
⇒BHT-BASIC4.0:Bluetoothデバイスアドレス取得等について
⇒VB.NET:ハンディターミナル(BHT-1300等)とのデータファイルの送受信について
BHTシリーズで読込み可能なバーコードには EAN-13(JAN-13)、EAN-8 (JAN-8)、NW-7、Code39、Code93、Code128等があります。
バーコードを読込む処理は以下の一連の命令の実行で行います。
・OPEN命令によりバーコードデバイスをオープンする。
・バーコードが読込まれるのを待つ。
・バーコードバッファから読込まれた文字列を取得する。
・CLOSE命令によりバーコードデバイスをクローズする。
■バーコードデバイスのオープン
バーコードデバイスのオープンの OPEN命令 について説明します。
[書式1:パラメタを直接指定]
OPEN "BAR:[読取モード][ブザー制御][LED制御]" AS [#]ファイル番号 CODE 読取コード[,読取コード...]
[書式2:パラメタをシステム設定値から指定]
OPEN "BAR:SP" AS [#]ファイル番号
<引き数>
OPEN "BAR:[読取モード][ブザー制御][LED制御]" AS [#]ファイル番号 CODE 読取コード[,読取コード...]
[書式2:パラメタをシステム設定値から指定]
OPEN "BAR:SP" AS [#]ファイル番号
<引き数>
・[読取モード]: ■モメンタリスイッチモード(M): トリガスイッチを押している間だけ照明LEDが点灯し、 バーコードを読み取ることができる。 ■オートオフモード(F) トリガスイッチを押すと照明LEDが点灯し、トリガスイッチを放すか、 またはバーコードを読み取ると、照明LED は消える。 ■オルタネートスイッチモード(A) トリガスイッチを押すと照明LEDが点灯し、トリガスイッチを放しても、 照明LED は点灯している。バーコードデバイスファイルがクローズされるか、 またはトリガスイッチを再度押すと照明LED は消える。 ■連続読み取りモード(C) トリガスイッチに関係なく照明LEDはバーコードデバイスファイルが クローズされるまで点灯しています。 ※4モードとも照明LEDが点灯している間は、 バーコードを読み取ることができます。 ・[ブザー制御]:"B" バーコードの読み取り成功時にブザー(バイブレータ)を作動 ・[LED制御]:"L" バーコードの読み取り成功時に青LED が点灯しないようにする ・ファイル番号:(OPEN命令で指定したファイル番号を指定) ・読取コード: ■共通商品コード("A","B","C") 先頭文字(国フラグ)やアドオンの指定ができますが "A"のみ指定でEAN-13(JAN-13),EAN-8(JAN-8),UPC-E全てが 読込める ■NW-7("N"): 書式:N[:[最小桁数[-最大桁数]][スタート ストップ][CD] [,[最小桁数[-最大桁数]][スタート ストップ][CD]] [,[最小桁数[-最大桁数]][スタート ストップ][CD]]] ■Code39("M"): 書式:M[:[最小桁数[-最大桁数]][CD] [,[最小桁数[-最大桁数]][CD]] [,[最小桁数[-最大桁数]][CD]]] ■Code93("L"): 書式:L[:[最小桁数[-最大桁数] [,[最小桁数[-最大桁数]] [,[最小桁数[-最大桁数]]] ■Code128("K"): 書式:K[:[最小桁数[-最大桁数] [,[最小桁数[-最大桁数]] [,[最小桁数[-最大桁数]]]
上記のほかにいろんな指定がありますが、それは各BHTの取説を見てください。
■オープン指定の例
OPEN "BAR:M" AS #1 CODE "A", "M:4-25", "K:4-25"
この例では読取モードとしてはモメンタリスイッチモードで、 読取コードは 共通商品コード、Code39の4桁~25桁、 Code128の4桁~25桁を可能としています。
このオープン例を使った簡単なテストプログラムを以下に示します。
実際の処理としては、上記のテストプログラムでは不十分です。 商品などのバーコードコードをスキャンする場合、 そのバーコードが準備されていればいいのですが、 準備できていないことがあります。
そんな時には、バーコードスキャンでもキー入力でも コード入力が可能な様に組んでおくことが必要です。
■バーコード・キー入力の両方を行える関数例
以下のソースはバーコードスキャンを途中でやめて、 キー入力出来る様にしたバーコード入力関数の例です。
この関数の処理は以下の様な仕様になっています。
(1)最初にカーソル位置を退避する。
(2)バーコードデバイスオープンを行い、キー入力とバーコードスキャンを待つ。
(3)バーコードスキャンがあれば、コードを変数に戻し、関数を終わる。
(4)[F4]キーが押下された場合は、戻り値にそのフラグを持って関数を終わる。
(5)[F1]キーが押下された場合は、キー入力処理になる。
(6)数字キーであれば入力文字列に追加する。
(7)[F2]キーが押下された場合は、バーコードスキャン(2)に戻る。
(8)[F4]キーが押下された場合は、戻り値にそのフラグを持って関数を終わる。
この関数はまだまだ足りない点があると思いますので、改造をして下さい。
【DENSO】ハンディターミナルBHT-1306BWB+USB通信ユニットCU-1321+ACアダプタAD2+標準バッテリBT-130L-C【送料無料・代引手数料無料】【02P05Nov16】 価格: 208,980円 |
■関連記事
⇒BHT-BASIC:DENSOのハンディターミナルの開発言語のBHT-BASIC4.0を使ってみた
⇒BHT-BASIC4.0:変数宣言の書き方(BHT-1300)
⇒BHT-BASIC4.0:変数宣言の書き方その2(BHT-1300)
⇒BHT-BASIC4.0:ユーザ定義関数について(BHT-1300)
⇒BHT-BASIC4.0:演算子について(BHT-1300)
⇒BHT-BASIC4.0:画面への表示について(BHT-1300)
⇒BHT-BASIC4.0:キー入力について(BHT-1300)
⇒BHT-BASIC4.0:数値用キー入力関数(ユーザ定義関数)について(BHT-1300)
⇒BHT-BASIC4.0:ユーザ定義関数の値渡し・参照渡しについて(BHT-1300)
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数について
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその2
⇒BHT-BASIC4.0:文字列を扱うユーザ定義関数についてその3
⇒BHT-BASIC4.0:TeraTermを使ってDENSOのハンディターミナルにファイル(プログラム)転送を行う方法
⇒BHT-BASIC4.0:I/OポートとWAIT、さらにTIMERについて(BHT-1300)
⇒BHT-BASIC4.0:データファイルの取り扱いについて(BHT-1300)
⇒BHT-BASIC4.0:データファイルの取り扱いについてその2(書込み・読込みの実用的な関数)
⇒BHT-BASIC4.0:データファイルの検索について(SEARCH関数)
⇒BHT-BASIC4.0:ユーザ関数の引数の仮変数に対する代入の注意点
⇒BHT-BASIC4.0:データファイルの削除等について(KILL、CLFILEのラッパ関数)
⇒BHT-BASIC4.0:ファイルの存在確認関数を作ってみました
⇒BHT-BASIC4.0:拡張関数のバイナリサーチ処理関数(BSEARCH.FN3)の使い方
⇒BHT-BASIC4.0:拡張関数のサーチ処理関数(SEARCH.FN3)の使い方
⇒BHT-BASIC4.0:簡単なメニュー表示・選択を行うユーザ関数について
⇒BHT-BASIC4.0:ファイル伝送におけるXFILE命令の使い方
⇒BHT-BASIC4.0:Bluetoothデバイスアドレス取得等について
⇒VB.NET:ハンディターミナル(BHT-1300等)とのデータファイルの送受信について
コメント