問題タブ [magnetic-cards]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java Swingテキストボックスに入力された磁気ストリップカードのデータを解析するにはどうすればよいですか?
スキャンしたバーコードを使用して見つかった、または磁気ストリップ カードのデータに埋め込まれた ID キーを使用して、データを使用してユーザーのプロファイルを検索および取得するアプリケーションを作成しようとしています。後者は私を悲しませます。ユーザー プロファイルを検索する前に、磁気ストライプ データを解析する必要があります。
私の質問は、テキストボックスにスキャンされたテキストをキャプチャし、テキストボックスに表示される前に解析する方法はありますか?
私のリーダー/スキャナーはキーボード エミュレーション タイプなので、ストライプにエンコードされた各文字がテキスト ボックスに入力されているかのようです。解決策 (しかし、それが最善でしょうか?) は、(磁気ストライプ リーダーによってエミュレートされた) 各キーストロークをインターセプトし、それらをバッファーに格納し、読み取った文字列の最後まで空の文字を表示することだと思います。カードのデータの最後が読み取られると、id の id 部分を解析して表示できます。問題は...カードのデータ文字列が個々の文字キーストロークとして入力された場合、それがカードのデータ文字列の終わりであることをどのように知ることができますか?
api - これを処理するために、IDカードからWebサービスおよびAPIに磁気ストライプ情報を送信します
たぶん誰かがこのテーマについて私に教えてくれるかもしれません。私は通常のクレジットカードマシン(彼らはできるはずです)がIDカード(磁気ストライプのあるカード)を読み取ることができるかどうかを調べています。特定のWebサービス/ネットワークに投稿するときにこれらのカードがどのようにエンコードされるのか(IPゲートウェイをエンコードしますか?)...そして磁気ストライプ情報を処理するためのAPIまたはいくつかの文献があったかどうか疑問に思いました。
java - Java: GUI で入力行を取得する必要があり、コンソールでのみ機能します
私の友人と私は、キーボード/マウスのないタッチスクリーン端末用に作成された、GUI を備えた Java でプログラムを作成しました。すべてが GUI 内で行われ、ほとんどの入力はボタンを押すことです。磁気カード リーダーを (キーボード モードで) 取り付けて、カードから読み取り、そのデータに基づいて処理を実行したいと考えています。
コンソールで動作するクラスを作成しましたが、GUI を実行すると、IDE の (Eclipse の) コンソール内で alt+tab キーを押してクリックし、カードをスワイプするまでハングします。私が探しているのは、GUI を離れることなくこの入力を取得する方法です。
MCR は、カード情報をキーボードで入力したかのように機能します。同じ行、txt ドキュメント、コンソールなどを入力できる場所ならどこでも、データの両方のトラックを含む行を送信します。
関連するコードは次のとおりです。
GUI では、コードは次のようになります。
InputStream が機能するのではないかと思いましたが、実際にそれらを使用したことはありません。私はグーグルでこのスレッドを見つけました :次のように、IOUtilsに関する提案を統合しようとしました:
私がそれを正しく行っているかどうかはわかりませんが、コンソール (GUI で試したことはありません) では、「カードのスキャン」と表示され、raw_card_data の出力やその他の処理に進むことはありません。ここから得た「closeQuetly」:
...しかし、繰り返しますが、私はそれを正しく行っているかどうかわかりません. Apache IOUtils も使用したことはありません。
だから私は立ち往生しています、そして私はあなたたちを探しています。GUIを離れずにこのカードデータを取得するにはどうすればよいですか?
重要な注意: カード データには可変のスペース (保持する必要がある) が含まれているため、 Scanner.next() のようなものは機能しません。カード リーダーは、両方のトラックがデリミタで区切られた行を送信し、次にキャリッジ リターンを送信するように設定されているため、.nextLine() は機能します。カードデータもバイト/文字の変数です。
また、最初のコード ブロックでは、System.out.println は、raw_card_data = read.nextLine() が実際に含まれる do while ループの前にあります (関連性がないと感じたので省略しましたが、今はその理由が気になります)これをやっている)。GUI で JTextArea に表示するために println を setText() に変更すると、カード データがコンソールに入力されるまで表示されません。わかりません笑。
delphi - プリンタ固有のコマンドの送信
ここで問題が発生しました。磁気ストライプデータをFargoDTC400プリンターにエンコードしようとしています。仕様では、メモ帳、ワードパッドなどから次の文字列コマンドを送信する必要があると書かれています。
この例では、文字列をトラック1にエンコードし、番号123456789をトラック2と3の両方にエンコードします。これはNotepad.exeから機能します。
編集: 私が使用している現在のDelphiコードは別のプリンターで動作します:
自分のアプリケーションからこの文字列をエンコードしようとすると、問題が発生します。プリンターがコマンドを完全に無視しているようです。ファイルに印刷を選択すると、バイナリデータを読み取って、印刷されたファイルで文字列を確認できます。例notepad.exeからファイルに印刷してみてください私はただごちゃごちゃしたバイナリデータを取得し、文字列をまったく見つけることができません...
だから私はメモ帳が私がしていないこの文字列コマンドを送信するために何をするのだろうか?
私は長い間私のアプリケーションにfargoサポートを実装することを熱望していたので、誰かがこれに光を当てることができることを願っています。
ありがとう
アップデート。 次のコードは古いものですが、それは機能しますが、上記のパススルーコードでこれを使用できる別の方法はありますか?
c# - KeyDownイベント(Keys)を1つのC#(wpf)文字列に連結します
キーボード入力を使用してデータを送信する磁気カードリーダーがあります。このオブジェクト(C#WPF)を取得するKeyDownイベントを使用しています:
入手した鍵を1本の紐にしたい。連結しようとしましe.Key.ToString()
たが、うまくいきません。私の入力にはたくさんの数字と記号(;?=など)があり、e.Key.ToString()は機能しません(数字の場合はD3、ShiftキーまたはCtrlキーを押すと別のキーが表示されます)標識)。
文字列が欲しいだけなので、たとえばConsole.WriteLineを使用すると、次のようになります。
ではなく
KeyConverterを使ってみましたが、理解できませんでした。
誰か助けてくれませんか?
私の現在のイベントハンドラー(正しく機能しません)は次のとおりです。
TypedTextは、キーを連結したい文字列です。出力結果は上で説明されました。
自分で解決しました。これが答えです。以下の GetCharFromKey
関数はキーを取得し(e.Keyを送信する必要があります)、charを返します。
javascript - 運転免許証を読み取るための JavaScript (またはその他の) ライブラリはありますか?
私は、キーボード エミュレーション モードで USB 磁気ストライプ リーダーからクレジット カードと運転免許証を読み取る JavaScript プロジェクトに取り組んでいます。クレジット カードはすべて同じ形式であるため、機能するようになるのは非常に簡単であることがわかりました。ただし、単一の州 (CA) 内であっても、カードごとに形式が異なるため、運転免許証ははるかに難しいことがすぐに明らかになりました。
いずれにせよ、目標は、運転免許証を読み取って (磁気ストライプ リーダーを使用して) 生データを取得し、そこから番号を抽出して、できるだけ多くの米国の州の正しい番号を生成することです (50 州すべてが素晴らしいです)。言及する価値があるのは、少なくとも現時点では、validation には特に関心がないということです。
他の誰かがすでにこれを行っていて、私が使用できるライブラリ (無料または商用) にすべてパッケージ化していますか? それは素晴らしいでしょう。
また、私は JavaScript のソリューションを見たいと思っていますが、実際には、任意の言語で書かれた任意のソリューションを調査することにオープンであることにも注意してください。
magnetic-cards - Maestro クレジット カード: MSR ダンプから情報を引き出す (任意の言語)
MSR でクレジット カードをスキャンできるシステムがあり、ダンプから name/cc/exp などの必要なフィールドを取得します。最近、これにグローバル化されたクレジット カードを追加する必要がありました。提供されたほとんどすべてのカードについて、それらはすべて標準に従っているように見えたため、情報を引き出すことができました. ただし、Maestro カードは例外でした。フォーマットは完全に異なり、カード上の実際の番号とダンプされたデータを確認するものも、他のダンプにアクセスするものもないため、これらの正しいフォーマットを理解するのは非常に困難です. また、MSR ダンプからデータを抽出する運がほとんどなく、Google 検索も行いました。
他のほとんどすべてのカードとは異なり、トラック 1 は "%B" で始まりませんし、トラック 2 は ";" で始まりません。どちらのトラックも「?」で終わっているように見えます。(トラックごとではなく、ダンプ全体の分析に基づいています)。トラック 3 は空に見えますが、これは正常です。
ダンプ全体には名前データがないようで、基本的に次の形式になっています。
単一の # のほかに、3 つある場合は可変長であることに注意してください。
ここでも、1 つのダンプにしかアクセスできませんでした。明らかな理由から、ここに投稿することはできません。
誰かが任意の言語のサンプル コードを持っている場合、またはヘルプにリンクできる場合は、本当に感謝しています。
前もって感謝します、
アンソニー
c# - Windowsキーボードフックを使用すると、キーボード状態でShiftキーが正しく検出されない
磁気カードリーダーを使用しています。
USBポートに接続してメモ帳を開くと、次の正しい結果が得られます。
Windows API関数を呼び出すキーボードフック(C#で記述)を使用すると、次のような一貫性のない結果が得られます。
ご覧のとおり、ここでの問題は、「9」キーと「0」キーが押されたときにSHIFTが押されたかのように、最初の「90」が「()」になることです。
キーボードフックコードはここ(Keyboard.cs)からのものです: https ://nappybar.googlecode.com/svn/Keyboard.cs そしてそれは次のように設定されます:
上記のように、これをカードリーダーで使用したときに得られる結果には一貫性がありません。(GetKeyboardState)のキーボードの状態が完全に正しくないようです。主に、Shiftキーを押してはいけないときに押す、またはその逆の場合があります。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms646299(v=vs.85).aspx
なぜこれが起こっているのか、そしてなぜそれがメモ帳で正しく機能しているのか誰かが知っていますか?そしてもっと重要なことに、どうすればそれを修正/回避できますか?ありがとうございました。
windows - 従業員番号を読み取るための磁気カードリーダーのプログラミング
磁気カード リーダーをプログラムしようとしていますが、どこから始めればよいかわかりません。調べてみましたがあまり出回っていないようです。
- カードリーダーをコンピューターに接続して、Eclipse のような IDE を介してプログラムできますか?
- それは何語でしょうか?
- 可能であれば、Windows 7 でサム ドライブのようにデバイスを表示するにはどうすればよいですか?
私はテキストをフォーマットしたいのですが、リーダーのプログラミングのプロセスを理解していません。
手伝ってくれてどうもありがとう。