Editにバーコード入力されたら、処理をするということができるようにしたいのですが、どういう記述方法がありますか?
どうぞ、ご教授ください。
バーコードって13桁の数字だよね。
入力された数字を各項目(国、メーカー、商品、チェックディジット)
に分割して目的の処理をすればいいのでは?
市販のバーコードリーダ(PC用)は、殆どのものが
キーボードエミュレーションを行います。
4902102061384
というバーコード(この場合はJAN)をEdit上でスキャンすると、
4902102061384[Enter]
と入力されます。
...ですので、単純に、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?
ただ、バーコードの種類によって長さやチェックディジットの有無、
スタート/エンドキャラの有無がありますので、
そこは考慮する必要があります。
[MiBarcode]
http://homepage3.nifty.com/m-and-i/freesoft/mibarcd/mibarcode.htm
これで、どのようなバーコード文字が生成されるのかを
確かめてみるとよいでしょう。
# なお、長さ可変のバーコードの場合、
# 読み取り精度と読み取り幅が重要になってきますので、
# 先述のバーコードリーダを購入される事があるのでしたら、
# 事前にスペックをご確認下さい。
質問の説明が不十分で、申し訳ありません。
バーコード入力すると、0123のように4文字読み取ります、
4文字読み取ると、次の処理を行うようにしたいです。
DEKOさんの言われる、単純に、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?
このVK_RETURNを拾ってとは具体的にどのようにすればよいのでしょうか?
よろしくお願いします。
DEKOさんの言われる、OnKeyDownイベントにて
VK_RETURNを拾って処理すればいいのではないでしょうか?
については、理解することができました。
4文字を読み取ると、自動で次の処理を実行するようにはできないでしょうか?よろしくお願いします。
>バーコード入力すると、0123のように4文字読み取ります、
このとき、TEditのOnChange イベント は発生しますか?
>4文字を読み取ると、自動で次の処理を実行するようにはできないでしょうか?
TEditのOnChange イベント が発生するなら、Text プロパティの長さが4のときに
その次の処理を記述するのはどうですか?
igyさん回答ありがとうございます。
OnChangeイベントを利用することで解決できました。
初歩的な質問にも回答頂きありがとうございました。
ツイート | ![]() |