Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2013, 13:17
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию Tchart и CalcXPosValue по шкале времени

Добрый день.
Работаю на D6.
Вот так получаю координаты по осям температуры (Y) и по оси времени (X), xx и yy глобальные:
Код:
procedure TForm4.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 chart1.SetFocus;
 xx:= timetostr(Chart1.Series[1].xScreenToValue(x));
 yy:= floattostrf(Chart1.Series[1].YScreenToValue(y),ffFixed,6,2);
 Edit3.Text:=datetostr(Chart1.Series[1].xScreenToValue(x));       //   Выводим данные под мышой
 Edit4.Text:=xx;       // сохраняю и отображаю
 Edit5.Text:=yy;       //

end;

работает нормально, но код ниже нет - не даёт мне обратно точку на канвасе по шкале времени Х - выдаёт всегда х0=-213677436, а по Y нормально:
Код:
procedure TForm4.Chart1DblClick(Sender: TObject);
var x0,y0,x1,y1:integer;
begin
chart1.Canvas.Pen.Color:=clblue;
chart1.Canvas.Brush.Color:=clblue;
x0:=chart1.BottomAxis.CalcXPosValue(strtotime(xx)); //получаю из глобальных
y0:=chart1.LeftAxis.CalcYPosValue(strtofloat(yy));      // значения под мышью
x1:=x0+2;
y1:=x0+2;
x0:=x0-2;
y0:=y0-2;
 if (RadioGroup2.ItemIndex=0)and (RadioGroup2.Tag=0) then
   begin
    Edit1.Text:=xx;
    chart1.Canvas.Rectangle(x0,y0,x1,y1);
    RadioGroup2.Tag:=1;
    Edit1.SetFocus;
    exit;
   end;
.......

А изначально задача простая - рисовать на графике точку-метку, для индикации начала отсчёта (визуального), потом при анализе графика брать данные со шкалы времени (Х) и отсюда уже считать данные по сериям, при этом надо сохранить позицию точки относительно серии при перемещении по экрану и масштабировании серий (должна перемещаться вместе с сериями).
В чём косяк? Сама шкала отображается нормально в чч:мм:сс.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter