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
[8136] Re:Re:[질문] 초보적인 질문...
이경문 [gilgil] 1156 읽음    2001-06-12 01:57
Timer마다 다른일을 해야 한다면 MyTimer function들을 많이 만들어야 겠지요.
하지만 그 일이 비슷하다면 다음과 같이 처리할 수 있습니다

void __fastcall TForm1::MyTimer(TObject *Sender)
{
  ShowMessage("호출한 타이머는 " + ((*TComponent)Sender)->Name);
  ShowMessage("호출한 타이머의 interval은 " + IntToStr(((*TTimer)Sender)->Interval));
}

즉 Sender라는 놈이 Timer를 가리키게 되어 있습니다.

phoihos 님이 쓰신 글 :
: 안녕하세요.
: phoihos입니다.
:
: 올만에 답변을 쓰네요^^;;
:
: OnTimer이벤트 핸들러가 MyTimer라고 하면
: MyTimer에서 하는 일이 있겠죠?
:
: 예를 들어 MyTimer가
:
: void __fastcall TForm1::MyTimer(TObject *Sender)
: {
:     ShowMessage("It's On Time!");
: }
:
: 이라고 하죠...
:
: 그럼 Timer를 동적 생성합니다.
:
:
: t[0] = new TTimer(NULL);
:
: t[0].Interval = 2000;
: t[0].OnTime = MyTimer;
: t[0].Enable = false;
:
: 라고 생성을 하겟죠?
:
: 그럼 각각의 버튼에서 각각의 타이머의 Enable만 true로 시켜주면 됍니다.
:
: 그런데 30개의 타이머 모두 다른 일을 하고자 한다면
: MyTimer의 갯수도 그의 맞게 생겨야합니다.
:
: 그럼 참고하세요...
:
: 임우식 님이 쓰신 글 :
: : 초보적인 질문 또 합니다.
: :
: : 타이머가 30개 정도 필요합니다.
: :
: : 버튼 역시 30개가 필요합니다.
: :
: : 각 버튼에 각 타이머가 있습니다.
: :
: : 버튼1번을 누르면 타이머1번이 작동하고
: :
: : 버튼 2번은 타이머 2번이겠죠...
: :
: : 30개나 되는 타이머 컴포넌트를 다 올려놓기도 좀 뭐하고..
: :
: : 그래서 TTimer *t[30]를 만들었습니다.
: :
: : OnTimer 이벤트를 MyTimer로 대치했습니다.
: :
: : 근데 문제는 이 OnTimer 이벤트는 하나지 않습니까..
: :
: : t[i]->OnTimer = MyTimer;라고 하면
: :
: : t에 대한 모든 OnTimer는 같지 않습니까..
: :
: : t[1]의 시간은 2:00에서 감소하는거고
: :
: : t[2]는 3:00에서 감소하는거라면..
: :
: : 어떻게 해야할지...
: :
: : 요약하면
: :
: : 하나의 버튼에 하나의 시계가 적용되야합니다. 다른 버튼이 뭔짓을 하던지 상관하지 않고
: :
: : 혼자 작동하게 할려면요... 어떻게 해야할지....?

+ -

관련 글 리스트
8118 [질문] 초보적인 질문... 임우식 1142 2001/06/11
8136         Re:Re:[질문] 초보적인 질문... 이경문 1156 2001/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.