C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[73189] Re:Re:Re:Re:Comport를 통해 스캐너를 이용중에 질문이 있습니다.
무릉도원 [ehwoans] 4182 읽음    2015-11-27 14:19
답변 감사드립니다!!
많은 도움이 되었습니다!!

Intotheblue 님이 쓰신 글 :
: 1. 232  특성이라고 생각하시면 됩니다.
:   원래 그래요.
:   경우에 따라서 님의 경우처럼 나눠서 들어오기도 하고..
:   연속적으로 송신이 일어나는 경우 다음에 받아야 할 데이터가 한꺼번에 들어오기도 합니다.
:
:   따라서 이런부분은 개발자가 처리해 줘야 합니다.
:   일부가 아예 안들어 오거나 깨지는 경우등 상황에 따라서 이런 부분도 고려해서 개발해야 합니다.
:   이건 232 뿐만 아니라 대부분의 통신에 적용되는 사항입니다.
:
: 2. String buffer ; header 에 멤버 변수로 선언하시고..
:
:  buffer += msg ; 해서 수신데이터를 모두 보관시키고..
:
:  buffer 를 확인해서.. 수신 데이터가 모두 들어왔는지 확인합니다.
: 확인조건은 스캐너 스펙 보시고..
: 끝에 cr/lf 등 종결 상태임을 표시하는 문자가 있으면 그걸로..
: 아니면 자리수등으로 수신이 다 됐는지 확인합니다.
:
:
: 무릉도원 님이 쓰신 글 :
: : 제가 지금 초보자라 이해가 잘 안되서 그러는데 문자열을 따로 하나 둬서 수신데이터를 누적시킨다는것이 뭘 말하는것인지 잘 모르겠습니다.
: :
: : 일단 들어오는 데이터는 문제가 없지만, 가끔 한줄이 아닌 두줄에 나눠서 출력이 되는 경우가 있는것인데 어느 부분에서 문제가 있어서 저렇게 출력이 되는지를 잘 모르겠어서요...ㅠㅠ
: :
: :
: : Intotheblue 님이 쓰신 글 :
: : : 질문에 무엇을 원하시는건지 구체적인 설명이 없네요..
: : :
: : : 어쨋든 232 통신에서 님이 올린것 처럼 나오는건 정상입니다.
: : : \n 들어가는건 아니고.. 수신이 완료되기 전에 읽어 들이기 때문에 나오는 현상입니다.
: : :
: : : 그래서 개발자가 저런 부분을 고려해서 처리하는 수 밖에 없습니다.
: : :
: : : 보통은 문자열을 따로 하나 둬서 수신데이터를 누적시키면서..
: : : 필요한 내용이 다 들어올 때까지 대기 후 다른 처리를 합니다.
: : :
: : :
: : :
: : : 무릉도원 님이 쓰신 글 :
: : : : 스캐너가 바코드를 읽으면 그 읽은값을 메모장으로 출력을 하고 있는데
: : : : 한번씩 \n이 들어가는지
: : : : 152663584256
: : : : 152663584256
: : : : 152663584256
: : : : 152663584256
: : : : 15266358
: : : : 4256
: : : : 152663584256
: : : : 이런식으로 중간에 한번씩 출력결과가 이상이 있습니다.
: : : : 
: : : : void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
: : : : {
: : : :     String msg;
: : : :     char *p;
: : : :     char str[50];
: : : :     ComPort1->ReadStr(msg, Count);
: : : :     Memo1->Lines->Add(msg);
: : : : }
: : : :
: : : : 현재 사용중인 코드입니다.

+ -

관련 글 리스트
73185 Comport를 통해 스캐너를 이용중에 질문이 있습니다. 무릉도원 3966 2015/11/27
73186     Re:Comport를 통해 스캐너를 이용중에 질문이 있습니다. Intotheblue 3913 2015/11/27
73187         Re:Re:Comport를 통해 스캐너를 이용중에 질문이 있습니다. 무릉도원 4062 2015/11/27
73188             Re:Re:Re:Comport를 통해 스캐너를 이용중에 질문이 있습니다. Intotheblue 4118 2015/11/27
73189                 Re:Re:Re:Re:Comport를 통해 스캐너를 이용중에 질문이 있습니다. 무릉도원 4182 2015/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.