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
[66199] Re:Re: 오실로스코프 Time/div 구현 복잡하게 생각할 것 없습니다
쌩조 [] 1416 읽음    2012-02-07 08:52
감사합니다.
10분더 안걸릴정도로 쉬운 문제였네요 ㅜㅜ
벌써 빌더를 접한지 2개월이 되어 가는데 아직도 어렵기만 하네요


빌더 님이 쓰신 글 :
: 쌩조 님이 쓰신 글 :
: : Teechart를 이용해서 오실로스코가 가지고 있는 Time/div 효과를 만들어 낼려고 하는데
: : 도대체 어떻게 접근해야 할지를 모르겠습니다.
: : 몇일째 모니터만 뚫어 지게 보고 있습니다 ㅜㅜ
:
:
: 오실로스코프의 Time/div 기능을 복잡하게 생각할 것 없습니다.
:
: TrackBar 콘트롤을 센터값을 100으로, 최대값을 200으로 하면, 센터에 있을 때 스케일 Factor를
: 1.0으로 보면 되니까 스케일 처리가 간단해 지겠죠.
:
: TChart 콘트롤의 BottomAxis 프로퍼티의 Max 값에 TrackBar의 스케일 Factor 값을 곱해주면
: 그것으로 오실로스코프의 Time/div 기능이 구현 됩니다.
:
:
:
: TChart 콘트롤 자체가 리얼타임 동작에 적합하도록 구현되어 있는 것도 아니고,  일일이 Series
: 데이타 요소 하나하나 마다 스케일 Factor를 계산해서 처리하는 방법은 상당히 비효율적 이니까
: 위에 언급한 방식으로 해보세요. 코드는 다음과 같은 식으로 처리하면 되겠죠.
:
:
:
: void __fastcall TForm1::TrackBar1Change(TObject *Sender)
: {
:     static int prevPos = 100;
:     static bool first_time = true;
:     static double Min, Max;
: 
:     int newPos = this->TrackBar1->Position;
: 
:     if( first_time ) {
:         Min = Chart1->BottomAxis->Minimum;
:         Max = Chart1->BottomAxis->Maximum;
:         first_time = false;
:     }
: 
:     if( prevPos != newPos )
:     {
:         prevPos = newPos;
:         Chart1->BottomAxis->SetMinMax(Min, Max * newPos /100.0);
:     }
: }
: 

:
: 코드를 구현하는데 10분도 안 걸릴거에요. 컴파일한 실행파일 같이 첨부합니다.

+ -

관련 글 리스트
66195 다시 한번 도움좀 부탁드립니다. ㅜ 쌩조 934 2012/02/06
66197     Re: 오실로스코프 Time/div 구현 복잡하게 생각할 것 없습니다 빌더 2053 2012/02/07
66199         Re:Re: 오실로스코프 Time/div 구현 복잡하게 생각할 것 없습니다 쌩조 1416 2012/02/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.