ورود

View Full Version : در مورد TChart



jandaghian
چهارشنبه 16 اسفند 1385, 09:40 صبح
سلام من میخواهم همزمان با اجرای برنامه بطور داینامیک در chart یک serries اضافه کنم.
این کار را با دستور زیر
Chart2.AddSeries(CreateNewSeries(Self,Chart2,TFast LineSeries,TAddTeeFunction));
انجام دادم. ولی نمیدونم چطوری به این سری که ایجاد کردم نام بدم که بعدا بتونم اونو با اون name صدا کنم.
اگه میدونید لطفا کمکم کنید...

ghabil
چهارشنبه 16 اسفند 1385, 15:50 عصر
Chart2.AddSeries(CreateNewSeries(Self,Chart2,TFast LineSeries,TAddTeeFunction)).Name := 'MyName';


یا



var
AChartSerries: TChartSerries;
begin
AChartSerries := Chart2.AddSeries(CreateNewSeries(Self,Chart2,TFast LineSeries,TAddTeeFunction));
AChartSerris.Name := 'MYName';
end;


فقط بعدا اگه خواستی بیشتر ازش استفاده کنی باید به TFastLineSerries متغییرت رو TypeCast کنی

jandaghian
یک شنبه 20 اسفند 1385, 10:46 صبح
ضمن تشکر از شما
آقای کوشا من نوشتم
var AChartSerries: TChartSeries;
AChartSerries := Chart2.AddSeries(CreateNewSeries(Self,Chart2,TFast LineSeries,TAddTeeFunction));
AChartSerris.Name := 'MYName';
ولی این error رو روی آخر خط AddSeries میده:
Incompatible types: 'TChartSeries' and 'procedure, untyped pointer or untyped parameter'
چه کار کنم؟! لطفا............

ghabil
یک شنبه 20 اسفند 1385, 12:54 عصر
شما تابع AddTeeFunction رو نوشتی ؟ کلاس رو از روش ساختی ؟اگر هم اصلا نمیخواهیش جاش رو خالی بزار یا Nil پاس کنش

یک سوال مهمتر اصلا چرا داری از CreateNewSeries استفاده میکنی که یک تابع Internal هست چرا این کار رو نمیکنی ؟ :



var
AChartSerries: TChartSerries;
begin
AChartSerries := Chart2.AddSeries(TFastLineSeries);
AChartSerris.Name := 'MYName';
end;

jandaghian
دوشنبه 21 اسفند 1385, 08:43 صبح
بابا من هر کاری میکنم ایراد میگیره
مینویسم :
var AChartSerries: TChartSeries;
begin
AChartSerries := Chart2.AddSeries(TFastLineSeries);
AChartSerries.Name := 'MYName';
End;
ایراد میگیره
Incompatible types: 'TChartSeries' and 'Class reference'

مینویسم:
var AChartSerries: TChartSeries;
begin
AChartSerries := Chart2.AddSeries(CreateNewSeries(Self,Chart2,TFast LineSeries,nil ));
AChartSerries.Name := 'MYName';
End;
ایراد میگیره
Incompatible types: 'TChartSeries' and 'procedure, untyped pointer or untyped parameter'

دیگه نمیدونم چه کار کنم
همه این کارها رو هم توی دلفی 7 انجام دادم.

ghabil
سه شنبه 22 اسفند 1385, 13:31 عصر
من عذر میخوام وقتی آدم به حافظش اعتماد کنه و کد رو تست نکنه اینطوری میشه ، این رو تست کن ایشالا درست میشه :



var
AChartSerries: TChartSeries;
begin
AChartSerries := TFastLineSeries.Create(Chart1);
Chart1.AddSeries(AChartSerries);
AChartSerries.Name := 'MYName';


از اول هم این راحتترین راه بود دیگه هم خودت رو گیج کردی هم منو.

jandaghian
چهارشنبه 23 اسفند 1385, 12:13 عصر
با تشکر از شما...

مشکلات گاهی آسونتر از اونن که فکرشو میکنیم...