![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TChart [D7, XP]
Quattro © (2005-12-08 12:08:00)Господа!Помогите чем можете=))...не могу понять почему не работает вот этот кусок.....ничего не чертит....
procedure TValues.GrafDraw;
var
a:integer;
Temp:array [1..200] of double;
begin
Form1.Chart.Series[1].Clear;//î÷èñòêà
for a:=1 to Form1.Table.RowCount-1 do
begin
if Form1.Table.Cells[1,a]'' then Temp[a]:=StrToFloat(Form1.Table.Cells[1,a])
else
Temp[a]:=StrToFloat(Form1.Table.Cells[2,a]);
end;
for a:=1 to Form1.Table.RowCount-1 do
if Temp[a]>Temp[a+1] then Temp[a+1]:=Temp[a];
Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50;
for a:=4 to Form1.Table.RowCount-1 do
begin
Form1.Chart.Series[1].Add(StrToFloat(Form1.Table.Cells[2,a]),
Form1.Table.Cells[0,a],clGreen);
end;
end;
Quattro (2005-12-08 15:01:00) [1]всё!!проблем больше пока не вижу=))))всем спасибо за терпение=))
Quattro (2005-12-08 14:53:00) [2]Во!!спасибо!!!!разобрался..проблема действительно в максимумах/минимумах таилась....тока теперь возникла другая=))...как убрать обозначччения точек на графике??...что бы не подписывались координаты точек..
Tonich (2005-12-08 14:15:00) [3]да попробуй просто на чарте что-то нарисовать,
а особенно вот без этой строки
Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50
Quattro (2005-12-08 14:07:00) [4]ошибся...вот так,но тоже ничего не происходит....
procedure TValues.GrafDraw;
var
a:integer;
Temp:array [1..200] of double;
begin
Form1.Chart.Series[1].Clear;//î÷èñòêà
{ for a:=1 to Form1.Table.RowCount-1 do
begin
if Form1.Table.Cells[1,a]'' then Temp[a]:=StrToFloat(Form1.Table.Cells[1,a])
else Temp[a]:=StrToFloat(Form1.Table.Cells[2,a]);
end;
for a:=1 to Form1.Table.RowCount-1 do
if Temp[a]>Temp[a+1] then Temp[a+1]:=Temp[a];
Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50;
for a:=1 to Form1.Table.RowCount-1 do}
begin
Form1.Chart.Series[1].AddXY(StrToTime('12:00'),StrToFloat(Form1.Table.Cells[1,1]),'qwe',clGreen);
ShowMessage('qwe');
Form1.Chart.Series[1].AddXY(StrToTime('12:10'),StrToFloat(Form1.Table.Cells[1,2],'qwe',clGreen);
end;
end;
Quattro (2005-12-08 14:00:00) [5]Kolan © Дебуггер говорит что мол всё гут...никаких ерроров..и значения все в норме....
Quattro (2005-12-08 13:58:00) [6]Чарт даже так почему то не хочет рисовать...
procedure TValues.GrafDraw;Temp[1] и Temp[2] содержат числа с плавающей запятой...
var
a:integer;
Temp:array [1..200] of double;
begin
Form1.Chart.Series[1].Clear;//î÷èñòêà
{ for a:=1 to Form1.Table.RowCount-1 do
begin
if Form1.Table.Cells[1,a]'' then Temp[a]:=StrToFloat(Form1.Table.Cells[1,a])
else Temp[a]:=StrToFloat(Form1.Table.Cells[2,a]);
end;
for a:=1 to Form1.Table.RowCount-1 do
if Temp[a]>Temp[a+1] then Temp[a+1]:=Temp[a];
Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50;
for a:=1 to Form1.Table.RowCount-1 do}
begin
Form1.Chart.Series[1].AddXY(StrToTime('12:00'),Temp[1],'qwe',clGreen);
ShowMessage('qwe');
Form1.Chart.Series[1].AddXY(StrToTime('12:10'),Temp[2],'qwe',clGreen);
end;
end;
Kolan (2005-12-08 13:29:00) [7]А у тебя
Form1.Table.Cells[2,a]
тут есть значения
Закомментируй все свой вычисления и просто нарисуй график. Потом постепеннно убирай кмментарии и каждый раз проверяй.
Кстати а DeBug'ером пройтис не пробовал. И AddXY используй...
Tonich (2005-12-08 12:43:00) [8]ну а если не трогать сам ось вот в этой строке
> Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-
> 1]+50;
то как тогда?
Quattro (2005-12-08 12:31:00) [9]извини=))....вот так лучше?=)
procedure TValues.GrafDraw;
var
a:integer;
Temp:array [1..200] of double;
begin
Form1.Chart.Series[1].Clear;//очистка
for a:=1 to Form1.Table.RowCount-1 do
begin
if Form1.Table.Cells[1,a]<>'' then Temp[a]:=StrToFloat(Form1.Table.Cells[1,a])
else
Temp[a]:=StrToFloat(Form1.Table.Cells[2,a]);
end;
for a:=1 to Form1.Table.RowCount-1 do
if Temp[a]>Temp[a+1] then Temp[a+1]:=Temp[a];
Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50;
for a:=4 to Form1.Table.RowCount-1 do
begin
Form1.Chart.Series[1].Add(StrToFloat(Form1.Table.Cells[2,a]),
Form1.Table.Cells[0,a],clGreen);
end;
end;
С AddXY тоже не получается...даже не знаю что и думать...=(
Tonich (2005-12-08 12:18:00) [10]попробуй так
Form1.Chart.Series[1].Add XY(StrToFloat(Form1.Table.Cells[2,a]),
Form1.Table.Cells[0,a],clGreen);
ты хоть выстроил как-то код, его пока прочитаешь....