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
[29040] Re: 답변 Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게
박영목 [conan67] 2570 읽음    2004-03-13 13:08
동적으로 생성해도 동작을 잘 합니다.... ㅋㅋㅋㅋ 메세지 연결도 알았고......
참고하실 분 아래를 참고하시고.........

한가지 아시는 분 답변 부탁합니다......
제가 앞쪽 회사에서 델파이 1년 했습니다.... 환경도 익히지 않고 그냥 JAVA와 C, C++소스를
참고해서... 안티알리아싱 Line(붓펜)을 그리는 알고리즘을 만드는데... 2~3개월 보내어 버리고...
원격제어는 VC++로 해 버리고 그래서 델파이도 대략 익혔는데 그때 메세지 연결 방식이

아래와 같은 것인데.... C++ Builder에도 이런 방식 없었습니까?
아래와 같이 선언하면 WIN32의 WM_ACTIVE로 연결됩니다.

procedure WMActive(var Message: TWMActivate); message

그리고 아래의 것 연결 방식 외에 다르게 메세지를 연결하는 방법 아시는 법 답변 부탁드립니다.

그냥 생각이 나서 질문을 드렸고 혹 다른 분들도 이런 것 때문에... 고민하시는 분들이 있을 것 같아....

그럼 다음에...


// HEAD FILE ---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "CPort.hpp"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TMemo *Memo1;
        TButton *Button1;
        TButton *Button2;
        void __fastcall FormDestroy(TObject *Sender);
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall Button2Click(TObject *Sender);
private:    // User declarations
public:        // User declarations
        TComPort *ComPort1;

        void __fastcall ComPort1RxChar(TObject *Sender, int Count);

        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


// SOURCE FILE ---------------------------------------------------------------------------

void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
{
  char sss[500];
  char *p;
  int i;
  char ttt[10];

  ComPort1->Read( sss, Count );

  p = sss;
  i=0;
  while( i<Count )
  {
    wsprintf( ttt, "0x%02X ", *p++ );
    Memo1->Lines->Add( ttt );
    i++;
  }
}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  ComPort1->Close();
  delete ComPort1;
}
//---------------------------------------------------------------------------

//버튼을 하나 만들고 TComPort를 Open
//TComPort의 Setting값은 Default로 두고 아래에 몇개만 대입해 보았습니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ComPort1 = new TComPort(this);
  ComPort1->Port = "COM1";
  ComPort1->BaudRate = br9600;
  ComPort1->OnRxChar = ComPort1RxChar;
  ComPort1->Open();
}
//---------------------------------------------------------------------------

//이것은 Data를 보내는 것
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  char str[100] = "123456789";

  ComPort1->Write( str, 8 );
  str[0] = 0x0D;
  str[1] = 0x0A;
  ComPort1->Write( str, 2 );
}

//---------------------------------------------------------------------------

+ -

관련 글 리스트
29035 [질문] Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게 박영목 1185 2004/03/12
34610     Re:[질문] Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게 박영목 1107 2004/03/13
34609     Re:[질문] Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게 fogman 1399 2004/03/13
34608     Re:[질문] Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게 빈센트 1026 2004/03/13
29040     Re: 답변 Comport 동적으로 생성했는데 .... ComPort1RxChar(TObject *Sender, int Count)으로 어떻게 박영목 2570 2004/03/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.