バーコード入力したら処理をするには?

解決


デルピー  2008-05-31 22:08:03  No: 30837  IP: 192.*.*.*

Editにバーコード入力されたら、処理をするということができるようにしたいのですが、どういう記述方法がありますか?
どうぞ、ご教授ください。

編集 削除
バーコード  2008-06-01 00:31:30  No: 30838  IP: 192.*.*.*

バーコードって13桁の数字だよね。

入力された数字を各項目(国、メーカー、商品、チェックディジット)
に分割して目的の処理をすればいいのでは?

編集 削除
DEKO  2008-06-01 01:42:52  No: 30839  IP: 192.*.*.*

市販のバーコードリーダ(PC用)は、殆どのものが
キーボードエミュレーションを行います。
4902102061384
というバーコード(この場合はJAN)をEdit上でスキャンすると、
4902102061384[Enter]
と入力されます。

...ですので、単純に、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?

ただ、バーコードの種類によって長さやチェックディジットの有無、
スタート/エンドキャラの有無がありますので、
そこは考慮する必要があります。

[MiBarcode]
http://homepage3.nifty.com/m-and-i/freesoft/mibarcd/mibarcode.htm

これで、どのようなバーコード文字が生成されるのかを
確かめてみるとよいでしょう。

# なお、長さ可変のバーコードの場合、
# 読み取り精度と読み取り幅が重要になってきますので、
# 先述のバーコードリーダを購入される事があるのでしたら、
# 事前にスペックをご確認下さい。

編集 削除
デルピー  2008-06-01 13:08:43  No: 30840  IP: 192.*.*.*

質問の説明が不十分で、申し訳ありません。
バーコード入力すると、0123のように4文字読み取ります、
4文字読み取ると、次の処理を行うようにしたいです。
DEKOさんの言われる、単純に、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?
このVK_RETURNを拾ってとは具体的にどのようにすればよいのでしょうか?
よろしくお願いします。

編集 削除
デルピー  2008-06-01 20:17:22  No: 30841  IP: 192.*.*.*

DEKOさんの言われる、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?
については、理解することができました。
4文字を読み取ると、自動で次の処理を実行するようにはできないでしょうか?よろしくお願いします。

編集 削除
igy  2008-06-01 20:56:55  No: 30842  IP: 192.*.*.*

>バーコード入力すると、0123のように4文字読み取ります、

このとき、TEditのOnChange イベント は発生しますか?

>4文字を読み取ると、自動で次の処理を実行するようにはできないでしょうか?

TEditのOnChange イベント が発生するなら、Text プロパティの長さが4のときに
その次の処理を記述するのはどうですか?

編集 削除
デルピー  2008-06-01 21:57:23  No: 30843  IP: 192.*.*.*

igyさん回答ありがとうございます。
OnChangeイベントを利用することで解決できました。
初歩的な質問にも回答頂きありがとうございました。

編集 削除