Показать сообщение отдельно
Старый 12.10.2020, 14:26   #48
ViS
Senior Member
 
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили: 15 раз(а) в 12 сообщениях
По умолчанию Ответ: Косяки, непонятки и хотелки по историческим данным

На экране у меня статичный график, запись данных не ведется.

Ну хорошо, аналогии, так аналогии.
Вот стоит наш исторический график. Вот он сейчас записывает данные. Это - самописец. Барабан крутится, лента тянется, на ленте рисуется график.
Закончили упражнение.

Выключили самописец, оторвали ленту с нарисованным графиком, положили ленту на стол == остановили запись историческим графиком данных, загрузили в него для отображения на экране выбранный диапазон данных. Это уже не самописец, это уже чертежная доска (стол).
Закончили упражнение.

Включили через фбд рулер и пытаемся перетаскиванием его спозиционировать в нужном нам месте графика, но не можем, так как график тоже ездит == взяли рейсшину, приложили ее к растянутой на столе ленте с нарисованным графиком, хотим передвинуть рейсшину на нужное нам место графика и не можем, так как лента ездит по столу вместе с рейсшиной.
Не можем выполнить упражнение.


Если, как говорит Илья, включить рулеры из Панели управления элемента Исторический график, то можно их спокойно двигать как хочешь, при этом сам график стоит на месте и не дергается. Следовательно в этом элементе уже реализовано выполнение следующего условия: "Рулер выключен - перемещение пальца по экрану вызывает перемещение графика/Рулер включен - перемещение по экрану вызывает перемещение рулера, не вызывая перемещения графика." Очевидно, что формально там используется, упрощенно говоря, булева переменная принимающая значение 0 или 1, соответственно выключенному или включенному состоянию рулеров. И в зависимости от ее значения разрешается или запрещается отработка блока, отвечающего за перемещение графика. Всего-то и надо, опять же упрощенно образно говоря, добавить туда OR или AND (смотря что там "рулит" - ноль или единица) и привязать к нему вход, чтобы мы могли задать значение из ФБД. Неужели это такая большая трудность там?

Или второй вариант. Ведь нужное нам уже реализовано, значит достаточно просто, чтобы этот ФБД-вход работал параллельно с кнопкой включения рулеров из Панели управления. Работют же параллельно ФБД-входы "масштабировния" и управление "масштабом" с экрана. Тоже явно нет проблемы это сделать - все уже в блоке есть для этого.
И не надо будет нам никаких "внешних" тачей. Область так и остается захваченной вашим компонентом и мы в его епархию не лезем.

Последний раз редактировалось ViS, 12.10.2020 в 14:36
ViS вне форума   Ответить с цитированием