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
[11972] Re:[질문] 시리얼통신에 관해서..
ball... [] 835 읽음    2001-10-22 17:43
bk 님이 쓰신 글 :
: 초보의 질문입니다.
:
: 시리얼 포트를 통해 신호가 들어오면 한 이벤트가 발생하도록 해놓았습니다.
:
: 그런데 프로그램 수행중 루프안에서 그 이벤트가 발생하기를 기다리도록 하려면(이벤트가 발생하기까지 대기모드로 바꾸거나 루프를 도는 중에도 그 신호에 해당되는 이벤트를 수행하도록 하려면)
: 어떻게 해야하나요?

프로그램 수행중 루프안에서라는 말이. 프로그램에서 자동적으로 돌아가는 메세지 루프인지....

아니면 님이 직접 돌리는 루프인지...(예를 들어서  While인지....) 일단 그것이 중요한데...

보통 책이나 그런데에서도 프로그램을 동적으로 활동하게 하니깐 직접루프안은 아니겠졍 ^^

하여간에 빌더에서는 구체적으로 짜본적은 없지만 API 에서는 이렇게 함니다.  그게 그거지만 ^^

시리얼포트든 소캣통신이든 기본은 스트링의 송수신이거든여 시리얼포트를 통해서 신호가 들어오면

이벤트가 발생하도록 한거까지는 잘하신거구여 님이 말쓴하신 그 신호에 해당되는 이벤트를 수행하도록

하려면 그이벤트가 뭐인지 알아야하잖아여 그래서 어떤 이벤트인지 구분할수 있는 인자가 있어야 합니다.

그 인자값에 따라서 이벤트를 발생시키고 그 이벤트내에서 원하는 코딩을 하시면 됩니다.

음 제애기를 예를 들어서 설명하자면 포트에 신호가 들어오면서 스트링을 주고 받았다면

스트링  ->    [1]이거는 이벤트원입니다....   라든가
              [2]이거는 이벤트투입니다^^     라든가 식으로 스트링이 넘어오면

여기서 앞부분에서 어떤 이벤트인지 갈취해서 알아낸다음에

여기서 또예를 ^^  Event 라는 변수에 1 이라든가 2라는걸 짤라서 넣어주면
switch(Event)
{
    case 1 :
           이벤트원함수();
    break;
    case 2 :
           이벤트투함수();
    break;
}

뭐 이런식에 개념이정... 이것도 여러가지 방법중에 한가지뿐..... 제가 허접해서리...

도움이 되었으면 좋겠네여 그럼 즐프염



+ -

관련 글 리스트
11967 [질문] 시리얼통신에 관해서.. bk 765 2001/10/22
12014     Re:[질문] 시리얼통신에 관해서.. 큐피리도 이니 994 2001/10/23
11972     Re:[질문] 시리얼통신에 관해서.. ball... 835 2001/10/22
11968     Re:[질문] 시리얼통신에 관해서.. 로렌조 801 2001/10/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.