Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TChart [D5, D6]


Страницы:   1 2

Kirill ©   (2002-05-18 14:06:00) 

Народ, нужна помощь для работы с сабжем. А конкретнее, как динамически создавать Series и добавлять их в Chart. И как работать с Axis, точнее как в run-time установить максимальное значение для x и y.


Kirill   (2002-05-29 16:54:00) [1]

2MBo:
Все, БОЛЬШОЕ СПАСИБО. Вопрос закрыт.


MBo   (2002-05-29 12:40:00) [2]

\Delphi5\Demos\Teechart


Kirill   (2002-05-29 11:36:00) [3]

Спасибо. В хелпе не нашел как им пользоваться. :(


MBo   (2002-05-29 07:09:00) [4]

Обрати внимание на gantt series


Kirill   (2002-05-28 19:06:00) [5]

Но проблема в том, что через значения должны проходить пунктиры (вертикальные и горизонтальные), но из-за (не знаю чего) отображается только для последней записи, а для остальных только график, т.е. линии отпуска (ни подписей, ни значений нет).


Kirill   (2002-05-28 19:03:00) [6]

procedure TfrmGr.FormActivate(Sender: TObject);
var i,j : word;
ser : TLineSeries;
dat : TDate;
x : longint;
begin
WindowState:=wsMaximized;
j:=0;
with Chart1 do begin
for i:=0 to DatM.TGO.RecordCount-1 do begin
ser:=TLineSeries.Create(Chart1);
ser.ParentChart:=Chart1;
DatM.TGO.RecNo:=i;
if (DatM.TGO.FieldByName("DataNach").value=NULL)or(DatM.TGO.FieldByName("DaysOtp").Value=NULL) then continue;
inc(j);
dat:=DatM.TGO.FieldByName("DataNach").AsDateTime;
ser.AddNull(Trim(DatM.TS.FieldByName("FIO").AsString));
ser.AddXY(DayOfTheYear(dat),i+2,Copy(DateToStr(dat),1,5),clRed);
ser.AddXY(DayOfTheYear(dat)+DatM.TGO.FieldByName("DaysOtp").AsInteger,i+2,""{IntToStr(DayOfTheYear(dat)+DatM.TGO.FieldByName("DaysOtp").AsInteger)},clRed);
end;
LeftAxis.Automatic:=false;
LeftAxis.Maximum:=j+2;
BottomAxis.LabelsFont.Name:="Small Fonts";
BottomAxis.LabelsFont.Size:=6;
Canvas.Pen.Style:=psDash;
Canvas.Pen.Width:=1;
Canvas.Pen.Color:=clLtGray;
Canvas.Brush.Style:=bsClear;
end;
end;


Kirill   (2002-05-28 19:02:00) [7]

Так, начнем сначала и подробно.
Есть таблица с сотрудниками. В таблице есть с какого дня в отпуске и сколько. Т.к. количество сотрудников меняется, то задать количество Series не могу. На TChart надо полосами указать время в отпуске. Что-то вроде этого:

Петров | ------ |
Иванов | ----- |
Сидоров | ----- |
--------------------------------------------------------
Привожу код:


MBo   (2002-05-28 17:39:00) [8]

я твоей проблемы не пойму


Kirill   (2002-05-28 17:29:00) [9]

2 MBo:
Он не хочет обновлять линии.


Kirill   (2002-05-24 10:54:00) [10]

Никаких идей больше нет?


Kirill   (2002-05-23 18:56:00) [11]

Пробовал. Он не обновляет, почему-то? Плюс он еще подписи не выводит, их тоже самому писать на канвас? А проще нет решения, типа REFRESH?


MBo   (2002-05-23 17:45:00) [12]

на Canvas


Kirill   (2002-05-23 17:35:00) [13]

Как?


MBo   (2002-05-23 17:32:00) [14]

рисуй в afterpaint


Kirill   (2002-05-23 17:11:00) [15]

И как вообще построить свои пунктирные линии?


Kirill   (2002-05-23 16:59:00) [16]


> подписи выводятся для оси в целом

Да, но только для одного последнего графика.


MBo   (2002-05-23 16:48:00) [17]

подписи выводятся для оси в целом.


Kirill   (2002-05-23 16:44:00) [18]

Не выводятся подписи для первых графиков и пунктирная вертикальная линия значений. Только для последнего.


MBo   (2002-05-23 16:42:00) [19]

>но вертикальная решетка высвечивается только для последнего графика
что-то я не пойму...


Kirill   (2002-05-23 16:36:00) [20]

>его уничтожит автоматически Owner, т.е. chart1 при своем destroy
Это хорошо


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо