2009-08-25 2 views
2

에서 읽기와 나는 다음과 같은 질문이 :바코드 나 스캐너를 사용하여 바코드를 읽고 있어요 WPF

  • 스캐너에서 키보드 및 입력에서 입력을 구별 할 수있는 방법이 있나요? 바코드 판독기에는 프리앰블, 종결 자 및 바코드 값의 접두어가 포함되어 있기 때문에 필자에게 꼭 필요합니다. 예를 들어 값이 12345이면 바코드는 \ pre12345 \를 가지며 여기서 \ 및 \는 시작과 끝을 나타내고 pre는 데이터 유형을 나타냅니다. 데이터가 키보드가 아닌 스캐너를 통해 입력되었다는 것을 알고 있다면 사용자가 입력 한 내용이 무엇이든 표시합니다. 데이터가 스캐너에 있음을 알고 있다면 \ pre와 \를 제거하고 데이터 만 표시합니다.

감사합니다,

답변

0

잘 그래! 바코드 스캐너의 입력은 먼저 COM 포트 또는 직렬 연결을 통해 자체 초기화해야합니다. 나는 많은 응용 프로그램이 특정 포트를 통해 입력을 특정 필드로 제한한다는 것을 알고 있지만 그 이상에서는 확실하지 않습니다.

+0

스캐너 유형에 종속되지 않는 일반적인 솔루션을 구현하고 싶습니다. – RRR

2

내 대답은 단순히 키보드를 에뮬레이트하고 특별한 연결이없는 "키보드 쐐기"모드에서 바코드 스캐너를 사용한다고 가정합니다. 이러한 장치는 종종 USB이며 추가 구성없이이 방법으로 작동합니다.

사용자가 실제로 \pre 텍스트를 입력 할 수 있습니까? 자주 접두사는 사용자가 입력하지 않거나 적어도 거의 입력하고 싶지 않은 문자 집합으로 특별히 선택됩니다. 따라서 접두사가있는 것만으로 스캔 된 바코드를 나타냅니다.

또 다른 옵션은 입력을 시간 지정하는 것입니다. 예를 들어, 바코드 스캐너로부터의 입력은 아마도 매우 짧은 시간 (예 : 50ms) 내에 모두 완료 될 것입니다. 사용자가 키보드를 통해 값을 입력하는 경우 50ms 이내에 접두어, 데이터 및 접미사를 모두 입력 할 수 없습니다. (물론, 여기에 입력은 자동화 된 도구가 아닌 실제 사람이 입력한다는 가정하에 이루어집니다.)

+0

예. 사용자가 \ pre를 텍스트로 입력 할 수 있으며 그 시점에서 스캐너 입력으로 취급해서는 안됩니다. 사전에 \가없고 \ 사용자가 \를 입력하면 키보드에서 오는 것을 인식하고 표시 할 수 있어야합니다. 또한 사용자가 \를 입력하고 더 이상 텍스트를 입력하기 전에 기다렸다가 키보드에서 오는지 알지 못하면 지연 (시간 초과) 후에 사용자에게 텍스트를 표시하므로 사용자를 혼란시킬 수 있습니다. – RRR

+2

사용자가 수동으로 입력 할 가능성이없는 다른 \ pre를 선택할 수 있습니까? 지연에 관해서는, 50ms의 지연은 사용자에게 거의 눈에 띄지 않을 것이다. 또 다른 옵션은 즉시 모든 것을 표시하는 것입니다. 다시 돌아가서 제한 시간이 만료되기 전에 전체 데이터가 입력되면 \ pre를 제거하십시오. –

0

내가 생각해 냈던 한 가지 해결책은 모든 바코드를 고유 한 문자 시퀀스로 시작하는 것이 었습니다. 사용자. 입력시이 순서를 확인하여 데이터 입력 방법을 알려줍니다.

관련 문제