Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 17:05   #1
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию проблема с Tchart

такая проблема возникла, в интернете решения нету, при создании формы создается Серия в виде синусоиды с щагом Х = 0,1. Series1.Count = 200. Код ниже не работает, вернее работает но коряво, т.к. сначала (интервал от 0,1 до 2 соответственно) он нормально выводит в грид значения, а потом (на интервале от 3,8 до 5,7) нули (0), т.к. чего-то Series1.XValues.Locate(interval) возвращает (-1) хотя значение interval (к примеру 5,7) в XValues точно есть.
Код:
interval := value; //value сначала 0,1 птом 0,2 и тд

.....

for r := 1 to 20 do
  begin
    xpos := Series1.XValues.Locate(interval);
    StringGrid1.Cells[1, r] := Series1.YValue[xpos];
    interval := interval + 0.1;
  end;
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 23.06.2010, 17:12   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Попробуй так:
Код:
StringGrid1.RowCount:=0;
for r := 0 to YValues.Count-1 do
  begin
    if (Series1.YValue[r]>=3.8)and(Series1.YValue[r]<=5.7) then begin
     StringGrid1.RowCount:=StringGrid1.RowCount+1;
     StringGrid1.Cells[1, StringGrid1.RowCount-1] := Series1.YValue[r];
    end;
  end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2010, 17:29   #3
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Код:
StringGrid1.RowCount:=0;
for r := 0 to Series1.YValues.Count-1 do
  begin
    if (Series1.XValue[r]>=3.8)and(Series1.XValue[r]<=5.7) then begin
     StringGrid1.RowCount:=StringGrid1.RowCount+1;
     StringGrid1.Cells[1, StringGrid1.RowCount-1] := floattostr(Series1.YValue[r]);
    end;
  end;
этот код выводит в грид все нормально (чуть его подправил), но меня интересует вопрос почему Series1.XValues.Locate(interval) возвращает (-1) если в XValues точно есть значение interval.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TChart crit Компоненты Delphi 18 30.03.2011 17:51
Tchart Droid Общие вопросы Delphi 9 27.05.2008 20:38
проблема с маштабированием графика (Tchart) Миротверд Общие вопросы Delphi 1 02.07.2007 11:42