PDA

View Full Version : حرفه ای: کپی کردن dbchart



masoode
یک شنبه 13 بهمن 1398, 17:19 عصر
سلام
من در برنامه این تعداد زیادی فرم دارم که روی هر کدام چندین TDBChart هست. بعضی از این نمودارها خیلی واضع دیده نمی شوند. میخواهم کاربر بتواند با زدن یک کلید، فرم جدیدی باز شود و همان چارت در آن به صورت فول اسکرین نمایش داده شود.
به علت اینکه تعداد چارت ها زیاد است، نمی توانم برای هر کدام یک صفحه بسازم. بهترین کار این است که در فرمی دیگر یک dbchart باشد و فقط تنظیمات چارت مورد نظر در آن اعمال شود. در صورت امکان دیتا ها از همان سری که در فرم اصلی قرار دارد گرفته شود.
من از دلفی 10.2.3 استفاده می کنم.

یوسف زالی
سه شنبه 15 بهمن 1398, 11:06 صبح
سلام. خب مشکلتون کجاست؟
سری داخلش رو به عنوان پارامتر ارسال کنید. یا دیتاست مربوطه رو بفرستید، یا آرایه ای که ازش دارید می سازید رو به عنوان پارامتر پاس بدید.

masoode
سه شنبه 15 بهمن 1398, 11:56 صبح
ممنون
یک فرم ساختم و روی آن یک dbchart گذاشتم و با این زیر برنامه کارم حل شد
procedure ShowChartInNewForm(var Chart: TDBChart;StationName,Title:string);
var
frm:TfrmShowChart;
i:Integer;
begin
frm:=TfrmShowChart.Create(nil);
try
frm.DBChart1.Assign(Chart);
while Chart.SeriesCount>0 do
frm.DBChart1.AddSeries(Chart.Series[0]);
frm.lblStationName.Caption:=StationName;
frm.lblTitle.Caption:=Title;
frm.ShowModal;
while frm.DBChart1.SeriesCount>0 do
Chart.AddSeries(frm.DBChart1.Series[0]);
finally
frm.Free;
end;
end;