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
[51432] [Q]CPORT3.0에서 CR이나 지정문자입력시 이벤트 발생시키는 방법?
이한진 [] 1097 읽음    2007-12-01 23:55
올해도 얼마 남지 않았네요..ㅜㅜ
이렇게 나이만 먹구..서글퍼라..

다름이 아니오라
CPORT3.0을 사용하고 있습니다.
사용중에 혹 이러한 기능은 없는지 알고 싶어 문의를 드립니다.
만약, 수신되는 데이타의 끝을 나타내는 CR이나 특정한 문자를 지정해 놓고
그 문자가 들어왔을 경우 이벤트를 발생할 수 있는 기능은 없는지 알고 싶습니다.
지금 사용하고 있는 방법은
데이타가 들어왔을 경우 RxChar이벤트에서 수신된 데이타를 계속 누적하여
마지막에 cr이나 특정 문자가 들어오면 종료하는 방식으로 사용하고 있습니다.
그러다보니 데이타가 길거나 할 경우 메모창에 데이타가 중간에 나뉘어 표시가 됩니다.

void __fastcall TFrmManual::ComPortRxChar(TObject *Sender, int Count)
{
    HWND hScroll;
    String temp;
    String ReadData="";

    ComPort->ReadStr( temp, Count );
    ReadViewData += temp;
    if ( StrScan(ReadViewData.c_str(), '\r') )
    {
        FrmMain->Memo->Lines->Add( "<" + ReadViewData );
        ReadData = ReadViewData;
        readFlag = true;
        ReadViewData = "";
        commandSearch( ReadData );
        ReadData = "";
    }
}
위와 같이 프로그램을 사용하고 있습니다.
그러다 보니 만약 하위 제어기에서 "12345678\r"
을 보낼 경우 메모창에
1234
5678
이런식으로 줄이 바뀌어 표시가 되네요..
시간이나 기타 방법을 찾아봐도 되지 않네요..
혹 방법을 아시는 분은 답변 부탁드립니다.
추운날씨 감기 조심하시기 바랍니다.
그럼...꾸벅..

+ -

관련 글 리스트
51432 [Q]CPORT3.0에서 CR이나 지정문자입력시 이벤트 발생시키는 방법? 이한진 1097 2007/12/01
51436     Re:[Q]CPORT3.0에서 CR이나 지정문자입력시 이벤트 발생시키는 방법? turboart 1227 2007/12/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.