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
[28517] Re:[질문]시리얼 데이타 출력 문제..
김용수 [heredity] 939 읽음    2004-01-14 22:07
::ReadFile(hComm, InBuff, 50 , &dwBytesRead, NULL); 
에서 50(심지어 1이라고 해도)은 별 문제가 되지 않습니다. 아래와 같이 처리해 보십시오.

1. 충분히 큰 char 또는 BYTE 형 배열을 전역 변수로 밖에 만들어 둔다
   (큰 배열 이름을 StrBuf라고 칭하기로 하죠 ^^;)
2. 자료를 읽는다.
3. 읽은 자료중 CR 또는 LF가 없으면 읽은 자료를 모두 StrBuf에 추가한다. 물론 복사시
   StrBuf의 할당 크기를 벗어나면 안 되겠죠!
4. 읽은 자료중 CR, LF가 있으면 CR, LF 이전까지 StrBuf에 복사한다.
   StrBuf를 출력한다.
   StrBuf를 초기화 한다.
   3번째 항부터 반복한다. 단,비교 위치는 CR, LF 다음 위치부터 검사
5. StrBuf가 꽉 찼으면 걍 출력한다.
   StrBuf를 초기화 한다.
6. 통신 Port가 닫힐때 & StrBuf가 비어있지 않으면 StrBuf를 걍 출력한다. 물론 초기화도 해 주시고 ...

대충 이렇게 하심 되것 같습니다.

행복하세요. ^_^
-------------------------------------------------------
초보 님이 쓰신 글 :
: char InBuff[1024];
: void __fastcall TSerialComm::Execute()
: {
:   while(1)
:   {
:     if(Terminated) return;
:     ::ReadFile(hComm, InBuff, 50 , &dwBytesRead, NULL);
:     if(dwBytesRead) {
:       InBuff[dwBytesRead] = 0;
:       Synchronize(ReadDataDisplay);
:     }
:   }
: }
: //---------------------------------------------------------------------------
: void __fastcall TSerialComm::ReadDataDisplay()
: {
:    FormMain->MemoSerial->Lines->Append(InBuff);
: }
:
: 위와 같이 시리얼로 받은 데이타를 출려하니
: 글자가 이어져 줄력됩니다..
: 전 carriage return 이나 linefeed(CR-LF)에서는
: 다음 라인으로 넘어가서 글자가 표현되게 하고 싶습니다.
: 문제는
: ::ReadFile(hComm, InBuff, 50 , &dwBytesRead, NULL);
: FormMain->MemoSerial->Lines->Append(InBuff);
: 여기서 50과 출력방법이 문제인거 같은데...
: 어떻게 하면 글자가 자연스럽게 출려되게 할 수 있을까여?
:
:

+ -

관련 글 리스트
28516 [질문]시리얼 데이타 출력 문제.. 초보 996 2004/01/14
34275     Re:[질문]시리얼 데이타 출력 문제.. Mr.Yoon 902 2004/01/15
28517     Re:[질문]시리얼 데이타 출력 문제.. 김용수 939 2004/01/14
28530         Re:Re:[재질문]시리얼 데이타 출력 문제.. 초보 794 2004/01/15
28536             Re:Re:Re:[재질문]시리얼 데이타 출력 문제.. 김용수 898 2004/01/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.