2011-12-22 2 views
0

바코드 스캐닝 모듈을 사용하여 C#의 데스크톱 응용 프로그램에서 작업 중입니다. 문제는 바코드를 스캔 할 때마다 응용 프로그램이 Messagebox를 표시하지 않는다는 것입니다. 응용 프로그램은 모든 예외를 throw하지 않으며 단지 코드를 실행합니다.바코드 스캐닝이 Messagebox를 표시하지 않습니다.

바코드를 스캔하기 전에 응용 프로그램이 완벽하게 작동합니다.

나는 왜 이런 일이 일어나고 있는지, 어떻게 해결할 수 있는지 전혀 알지 못합니다.

if (string.IsNullOrEmpty(BarcodeScan) && e.KeyChar.ToString() == "*") 
    BarcodeScan = e.KeyChar.ToString(); 

else if (Regex.IsMatch(BarcodeScan + e.KeyChar.ToString(), @"^[*]\d+$")) 
    BarcodeScan += e.KeyChar.ToString(); 

else if (Regex.IsMatch(BarcodeScan + e.KeyChar.ToString(), @"^[*]\d+[*]$")) 
{ 
    BarcodeScan += e.KeyChar.ToString(); 
    ArticalID = BarcodeScan.Substring(1, BarcodeScan.Length - 2); 

    //Code to find article in DB 

    ArticalID = string.Empty; 
    BarcodeScan = string.Empty; 
} 
else 
{ 
    if (BarcodeScan.StartsWith("*")) 
    { 
     BarcodeScan = string.Empty; 
    } 
} 
+1

몇 가지 코드를 보여 주면 어떨까요? – Shai

+0

... 바코드 판독기 장치에 SDK가 있습니까? 아니면 바보 키보드 에뮬레이터입니까? – StaWho

+0

@Sta 이것은 멍청한 키보드 에뮬레이터입니다. – Haris

답변

3

는 지금까지 내가 당신의 질문을 이해 : 바코드 스캐너는 대부분 끝에 "입력"으로 스캔 한 숫자/문자를 전송

이 내 코드입니다. 기본 버튼을 호출하여 MessageBox를 닫을 수도 있습니다.

+0

흠 나는 포인트가 있다고 생각합니다. 이것이 이유 일 수 있습니다. 내가 확인 할게. 이것이 사실이라면 문제를 어떻게 해결해야합니까? 사실 나는 스캔 한 ID가 우리 db에서 발견되지 않을 때 경고를 표시합니다. – Haris

+0

@ 하리스 : 소프트웨어 디자인에 달려 있습니다 ... – Fischermaen

+0

늦게 업데이트하여 죄송합니다. 다른 작업이 많습니다. 바코드 판독기가 2를 통과했기 때문에 문제가 발생했습니다. 내 코드를 리팩터링하려고했지만 해결책을 찾지 못했습니다. 내 코드를 수정하도록 도와 주시겠습니까? 스캔 할 형식은 * Digits *입니다. 사용자가 키보드와 동일한 형식을 입력 할 수 있기 때문에 * Digits * \ n \ n을 테스트 할 수 없습니다. – Haris

관련 문제