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
[43993] 동적할당한 Tchart Series들의 순차적표시(머리털 다빠짐^^)
이원 [wonyeoul] 1512 읽음    2006-03-08 14:07
이 그래프는 센서가 좌우로 왔다갔다 하면서 데이터를 측정하는것입니다.
a)  X축: 0~100까지(좌-->우)측정하면 Series1으로 표시   
b)  X축: 100-->0으로(우-->좌)측정하면 Series1으로 표시  ==> a),b) 계속 반복.

질문1)
이미지에서 보이는것처럼 현재는 Series1, 2 가 동시에 그려집니다.
제가 하고자 하는것은 Series1이 표시된 후 Series1을 클리어하고 Series2를 그리고 다시 클리어 이렇게 반복하는것을  나타내고자 합니다.
소스에서 어떻게 수정해야 할지 제 머리로는 무리 ㅠㅠ 도와주세요...

질문2)
b)처럼 측정은 우-->좌 로 하지만 Tchart에는 좌--->우 로 표시할려구 합니다.
    그러면, 100-99-98- ............ - 3-2-1-0 이런식으로 표시되겠죠. 이것을 어떻게 소스코딩을 해야할지 쩝.

무지 고민하고 자료 찾아본 후 이렇게 고수님들께 부탁드립니다.
아직 초보라 넘 힘드네요.
그럼 오늘도 좋은 하루 되세욤~~~

********************************* 소 스 ***********************************************
<헤더파일>
  ...
public:        // User declarations

    double *dptrThickness;
    double *dptrBThickness;
    long lCount; //동적할당된 배열의 각 주소--> ~[0],~[1],~[2]........
    long lBCount;
    int iSize;
    int iBSize;

    __fastcall TForm1(TComponent* Owner);



<cpp>
#include <vcl.h>
#pragma hdrstop

#include "EXarray.h"
#include "stdlib.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

int x,y;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    randomize();
    dptrThickness = NULL;
    dptrBThickness = NULL;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    iSize = 100;
    iBSize = 100;

    if(dptrThickness != NULL) {
        delete []dptrThickness;
        dptrThickness = NULL;
    }
    if(dptrBThickness != NULL) {
        delete []dptrBThickness;
        dptrBThickness = NULL;
    }

    dptrThickness = new double[iSize+1];
    lCount = 0;
    Series1->Clear();

    dptrBThickness = new double[iBSize+1];
    lBCount = 0;
    Series2->Clear();


    Timer1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)  <========= 요부분 수정이 중요 ㅠㅠ
{
    dptrThickness[lCount] = rand() % 50;
    dptrBThickness[lBCount] = rand() % 20;
    lCount++;
    lBCount++;


    if(lCount > iSize){
        Series1->Clear();

        for(int i=0; i <= iSize; i+=5){
            x = i;
            y = dptrThickness[i];

                Series1->AddXY(x,y,"",clRed);


            if(lBCount > iBSize){
                Series2->Clear();

                for(int j=0; j <= iBSize; j+=5){
                    x = j;
                    y = dptrBThickness[j];
                    Series2->AddXY(x,y,"",clBlue);
                }
            }
        }
        lCount = 0;
        lBCount = 0;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    Timer1->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    if(dptrThickness != NULL)
        delete []dptrThickness;
    if(dptrBThickness != NULL)
        delete []dptrBThickness;
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
43993 동적할당한 Tchart Series들의 순차적표시(머리털 다빠짐^^) 이원 1512 2006/03/08
44003     Re:왠지 재밌을 거 같아 한번 해보았습니다.. 참고하시길~ 외랑 1057 2006/03/08
44011         외랑님 감사욤~~ 즐거운 하루되세요~~~ 이원 891 2006/03/09
43999     Re:동적할당한 Tchart Series들의 순차적표시(머리털 다빠짐^^) 외랑 1144 2006/03/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.