Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 392

/ вопрос открыт /

Здравствуйте, уважаемые эксперты! Необходимо удалять часть графика Chart с помощью мыши выделением. Как можно создать такой обработчик событий. Да часть графика должна удаляться от min до max по вертикали. Подскажите пожалуйста буду примного благодарен!

Lion Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Lion (статус: Посетитель)
Вопрос отправлен: 4 марта 2008, 07:35
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 6 марта 2008, 05:37; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 4 марта 2008, 23:11 [#1]:

Наверно я огорчу, но TChart не предназначен для такого. Можно попробывать разбить график на две части и рисовать два
Галочка "подтверждения прочтения" - вселенское зло.
Lion

Lion (статус: Посетитель), 5 марта 2008, 03:37 [#2]:

Хочу немного пояснить свой вопрос!
Данные снимаются с АЦП, сохраняются в текстовый файл, а оттуда уже отображаются на графике. По снятым данным необходимо произвести расчёт, но для него необходимо отбросить часть графика с помехами. Такие части находятся в начале и в конце графика. Мне необходимо хотя бы определять точку по оси Х с момента выделения, а затем в текстовом файле эти данные убрать.
Надеюсь мой вопрос понятен.
Вадим К

Вадим К (статус: Академик), 5 марта 2008, 22:19 [#3]:

Ну тогда можно по простому. Ставим две кнопки с названиями "выбрать начано диапазона" и "выбрать конец дианазона". Заводим глобальную переменную diapazon (или как свойство формы) типа integer;
с следующим условием 1 - выбираем начало диапазона, 2 - конец, 0 - неопределённость. (такие состояния всегда надо).
по клику на первую кнопку записываем diapazon := 1; для второй - 2.
Теперь нужно для Chart создать событие MouseDown и туда пишем такое
case diapazon of
1: begin
x1 := Series1.XScreenToValue(X);
y1 := Series1.YScreenToValue(Y);
point1select :=true;
end;
2:
begin
x2 := Series1.XScreenToValue(X);
y2 := Series1.YScreenToValue(Y);
point2select :=true;
end;
end;
<code>
и для кнопки "расчёт" (или может она будет называеться "обработка") пишем такое
<code>
if not (point1select and point2select) then
begin
  ShowMessage('Надо выбрать точку начала и конца!');
  exit;
end;
//
//а тут собственно обработка
В целом, это идея, а вы развивайте:)
Галочка "подтверждения прочтения" - вселенское зло.
Lion

Lion (статус: Посетитель), 6 марта 2008, 05:37 [#4]:

Спасибо очень помогло! Дальше разберусь сам.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:36
Выполнено за 0.03 сек.