C# - バーコードスキャナーからデータを取得する

okwaves2024-01-25  6

フィットネス センター用の Web アプリケーションを構築しています。フィットネス センターには、ジム カードをスキャンするためのバーコード スキャナーがあります。私が達成しようとしているのは、スキャナーが提供しているデータ(名前、姓、毎月のサブスクリプションの時間)を何らかの方法で取得することです。私の Web アプリケーションは ASP.NET C# で構築されていますが、この種の問題に対処するのはこれが初めてです。 ご協力、またはその他のアドバイスをいただければ幸いです。さらに詳細な質問をお気軽にお尋ねください。

6

データの取得を期待しないでください (na私、姓、月次購読の時間) 会員カードをスキャンすると、おそらくユーザー ID が得られ、DB からデータを取得します。スキャナーが Web ページで動作するようにするには、github.com/schmich/instascan を参照してください。

– ランプリン

2020 年 9 月 3 日 11:58



------------------------

ジムにこのようなバーコードスキャナーがあれば 、システムではキーボードとして認識されます。 このようなスキャナでは、終了文字の Tab または Enter も設定できる必要があります。このとき、スキャンしたコードを確認する必要はありません。 上記のようなバーコードが付いたカード rデータベース内の特定の人物に関連付けられたカード番号を返します。



------------------------

おそらく、MVC (コアまたはフレームワーク) からバーコード スキャナーにアクセスできません。そのためには、おそらくメンバーカードをスキャンするコンピューターまたは電話上で何らかのソフトウェアを実行する必要があります。ただし、バーコード スキャナーが ID をコピーできる可能性があるため、解決策がある可能性があります。このようにして、MVC アプリケーションの入力フィールドに入力し、そこからバックエンドにポストすることができます。



------------------------

質問を正しく理解できれば、おそらく SerialPort が必要です。

実際にはとても簡単です。

SerialPort serPort = new SerialPort("COM7"); // thats the USB port on which the scanner is connected
serial.DataReceived += new SerialDataReceivedEventHandler(serial_DataReceived);
serPort.Open();

これで、スキャナーに搭載されているすべてのものを受け取ることができます。

private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e){
   
   string response = serPort.ReadExisting();

   //do work
}

使用時に接続されているポートがわからない場合にも:

 foreach (string sp in SerialPort.GetPortNames())
        {
            port = new SerialPort(sp)
            {
                Encoding = Encoding.GetEncoding("Windows-1252")
            };
            port.DataReceived += new 
            SerialDataReceivedEventHandler(Port_DataReceived);
            port.Open();
        }   

これは、何かが接続されているかどうかを確認するすべてのポートを監視し、そのポートへの接続を開きます。明らかに、携帯電話などのものが接続されている場合は、そのポートも開きます。ただし、スキャンした場合にそのポートのみが使用されるかどうかを確認することはできます。

あなたの質問を正しく理解できた場合、スキャナと通信する方法を知りたいと思います。

それがノーだったらご質問がありましたら、コメントして明確にしてください。私はモバイル スキャナーでバーコードを読み取って一日中働いているので、お手伝いできると思います。



------------------------

ほとんどすべてのハンドヘルド バーコード スキャナのマニュアルには、スキャナをキーボード ウェッジとして機能するように変更するためのバーコードが記載されています。このようにして、スキャナはキーボード デバイスとまったく同じように機能します。バーコードをスキャンすると、キーコードがカーソル位置に送信されます。

スキャナのメーカー/モデルを調べてマニュアルをダウンロードし、エミュレーション モードを変更するためにスキャンできるバーコードを探してください。

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。