Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.013 c
2-1133885562
hamster
2005-12-06 19:12
2005.12.25
Оптимизация


2-1134137750
Толян
2005-12-09 17:15
2005.12.25
переменая типа Memo


2-1134100759
root911
2005-12-09 06:59
2005.12.25
Компонент


14-1133785308
LordOfRock
2005-12-05 15:21
2005.12.25
Delphi 6 виснет....


2-1133682214
bogdan
2005-12-04 10:43
2005.12.25
Цвета в мемо





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский