Вниз
Скачать: CL | DM;

TChart   Найти похожие ветки 

← →
Quattro ©   (2005-12-08 12:08) [0]

Господа!Помогите чем можете=))...не могу понять почему не работает вот этот кусок.....ничего не чертит....
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;


← →
Tonich ©   (2005-12-08 12:18) [1]

попробуй так
Form1.Chart.Series[1].AddXY(StrToFloat(Form1.Table.Cells[2,a]),
                           Form1.Table.Cells[0,a],clGreen);
ты хоть выстроил как-то код, его пока прочитаешь....


← →
Quattro ©   (2005-12-08 12:31) [2]

извини=))....вот так лучше?=)
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:43) [3]

ну а если не трогать сам ось вот в этой строке

> Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-
> 1]+50;


то как тогда?


← →
Kolan ©   (2005-12-08 13:29) [4]

А у тебя
Form1.Table.Cells[2,a]
тут есть значения

Закомментируй все свой вычисления и просто нарисуй график. Потом постепеннно убирай кмментарии и каждый раз проверяй.
Кстати а DeBug"ером пройтис не пробовал. И AddXY используй...


← →
Quattro ©   (2005-12-08 13:58) [5]

Чарт даже так почему то не хочет рисовать...
procedure TValues.GrafDraw;
var
 a:integer;
 Temp:array [1..200] of double;
begin
 Form1.Chart.Series[1].Clear;//&#238;&#247;&#232;&#241;&#242;&#234;&#224;
 { 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;
Temp[1] и Temp[2] содержат числа с плавающей запятой...


← →
Quattro ©   (2005-12-08 14:00) [6]

Kolan © Дебуггер говорит что мол всё гут...никаких ерроров..и значения все в норме....


← →
Quattro ©   (2005-12-08 14:07) [7]

ошибся...вот так,но тоже ничего не происходит....
procedure TValues.GrafDraw;
var
a:integer;
Temp:array [1..200] of double;
begin
Form1.Chart.Series[1].Clear;//&#238;&#247;&#232;&#241;&#242;&#234;&#224;
{ 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;


← →
Tonich ©   (2005-12-08 14:15) [8]

да попробуй просто на чарте что-то нарисовать,
а особенно вот без этой строки

Form1.Chart.LeftAxis.Maximum:=Temp[Form1.Table.RowCount-1]+50


← →
Quattro ©   (2005-12-08 14:53) [9]

Во!!спасибо!!!!разобрался..проблема действительно в максимумах/минимумах таилась....тока теперь возникла другая=))...как убрать обозначччения точек на графике??...что бы не подписывались координаты точек..


← →
Quattro ©   (2005-12-08 15:01) [10]

всё!!проблем больше пока не вижу=))))всем спасибо за терпение=))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
2-1133957542
Aleks
2005-12-07 15:12
2005.12.25
Как узнать существует папка или нет??


2-1134140482
Goast
2005-12-09 18:01
2005.12.25
Игнор ошибки!!!


4-1130302678
HardMan
2005-10-26 08:57
2005.12.25
Определение модели винта и его скорости чтения/записи


1-1132906451
vl1639
2005-11-25 11:14
2005.12.25
о компоненте StringGrid


4-1129803049
Tristania
2005-10-20 14:10
2005.12.25
Вопрос по WH_JOURNALPLAYBACK/WH_JOURNALRECORD хукам




   Наверх