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

解決


デルピー  2008-06-01 07:08:03  No: 30837

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


バーコード  2008-06-01 09:31:30  No: 30838

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

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


DEKO  2008-06-01 10:42:52  No: 30839

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

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

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

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

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

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


デルピー  2008-06-01 22:08:43  No: 30840

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


デルピー  2008-06-02 05:17:22  No: 30841

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


igy  2008-06-02 05:56:55  No: 30842

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

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

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

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


デルピー  2008-06-02 06:57:23  No: 30843

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加