*(double*)list->Items[i]
형변환 앞에 *을 하나 더 붙이세요. ^^*
차트 함수인자가 그냥 double 이군요.
[추신]
아.. 그리고 값 넣는것도 수정하세요.
void __fastcall TForm2::Button1Click(TObject *Sender)
{
list=new TList();
double a[] = {0.1,0.2,0.3,0.4,0.5};
//배열 값 넣기
for(int i=0; i<sizeof(a)/sizeof(double); i++) {
list->Add(&a[i]);
}
ShowResult(list);
//메모리 지우기
delete list;
}
니시엔 님이 쓰신 글 :
: 계속 답글달아주셔서 감사합니다.
: 알려주신 방법으로 하니 이번엔 새로운 error가 발생했습니다.
: [bcc32 Error] Unit2.cpp(24): E2034 Cannot convert 'double *' to 'double'
:
: [bcc32 Error] Unit2.cpp(24): E2342 Type mismatch in parameter 'AYValue' (wanted 'const double', got 'double *')
:
: 처음것은 double형은 double형 포인터로 convert할 수 없다고 하는것 같고
: 두번째는 그래프그리기 함수의 매개변수엔 double형만 들어갈수 있다고 하는것 같은데 맞나요?
: 정성훈.해미 님이 쓰신 글 :
: :
: :
(double*)list->Items[i]
: :
: : 이렇게 해야하는군요.
: : Items의 반환 형태가 포인터네요.
: :
: :
: : 니시엔 님이 쓰신 글 :
: : : 알려주신 방법을 적용해보니 [bcc32 Error] Unit2.cpp(24): E2031 Cannot cast from 'void *' to 'double'
: : : 라는 에러메세지가 나옵니다. 형변환실패 메세지인것같은데 맞나요?
: : :
: : : 정성훈.해미 님이 쓰신 글 :
: : : : TList에 Count변수로 아이템 개수를 알수 있습니다.
: : : : 그리고 아이템 접근은 Items를 이용하면 됩니다.
: : : :
: : : :
: : : : void __fastcall TForm2::ShowResult(TList* list)
: : : : {
: : : : TChartSeries* series1 = Form2->Chart1->Series[0];
: : : : series1->Clear();
: : : :
: : : : // 수정부분
: : : : for(int i=0; iCount; i++){
: : : : series1->AddXY(i, (double)list->Items[i],"",clGreen);
: : : : }
: : : :
: : : : }
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : : 니시엔 님이 쓰신 글 :
: : : : : 현재 TList와 TChart를 활용하여 그래프를 그려보려고하는데 TList에서 막혀버렸습니다.
: : : : : TList를 매개변수로 갖는 함수를 제작중인데 TList에 double형 배열을 넣고 해당 배열 안에 있는 값을 가져오는 법을 도무지 모르겠습니다.
: : : : : 현재 작성된 코드의 상태는 일단 다음과 같습니다.
: : : : :
: : : : : 밑의 함수는 매개변수로 받은 TList 내부 배열에서 값을 하나씩 가져와 그래프를 그리는 기능을 만드려고 합니다.
: : : : : void __fastcall TForm2::ShowResult(TList* list)
: : : : : {
: : : : : TChartSeries* series1 = Form2->Chart1->Series[0];
: : : : : series1->Clear();
: : : : :
: : : : :
: : : : : for(int i=0;i<5;i++){
: : : : : series1->AddXY(i, ,"",clGreen);
: : : : : }
: : : : :
: : : : : }
: : : : :
: : : : : 밑에는 버튼클릭시 배열값을 넣을 TList를 선언하고 그 TList에 double형 배열을 넣고 위에 작성된 함수를 call하는 기능만 있습니다.
: : : : :
: : : : : void __fastcall TForm2::Button1Click(TObject *Sender)
: : : : : {
: : : : : list=new TList();
: : : : : double a[] = {0.1,0.2,0.3,0.4,0.5};
: : : : : list->Add(a);
: : : : :
: : : : : ShowResult(list);
: : : : : }