OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 08:48

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 11 Июнь, 2010 13:48 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Уважаемые форумчане, помогите идеями по следующей задаче: в программе регистрации измерений (не важно чего) необходимо точно (до сотен миллисекунд) фиксировать момент (время) изменения некоторых переменных. Причем, не важно были ли изменения произведены внутри самой программы, либо переменная была изменена после опроса датчиков. Программа - это BlackBox с дополнениями.

У меня получилось как-то сложно: для каждой переменной создается объект-обертка с методами Read, Write. Внутри этого же объекта хранится метка времени изменения. Естественно, такие переменные-объекты невозможно использовать со стандартными элементами интерфейса ЧЯ. А очень бы хотелось...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Июнь, 2010 16:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
hothing писал(а):
У меня получилось как-то сложно: для каждой переменной создается объект-обертка с методами Read, Write. Внутри этого же объекта хранится метка времени изменения.
По-моему, по-другому программно не сделать.
hothing писал(а):
Естественно, такие переменные-объекты невозможно использовать со стандартными элементами интерфейса ЧЯ. А очень бы хотелось...
Если очень надо в Вашей программе, достругайте Блэкбокс-основу Вашей программы.

Какие вижу варианты:
1) Научить контролы работатать с обёртками. Тут (если до конца понимаю устройство ББ) достаточно правки модуля Controls. Придётся повозиться, правка будет кропотливой: всё, связанное с Controls.item. Но, можно ограничиться только нужными контролами.
Цитата:
item-: Meta.Item
This item describes the variable or procedure to which the control is linked.

2) Альтернативный вариант для контролов: исправить Meta вместо Controls. Вести список наблюдаемых переменных. При каждом изменении переменной просматривать список и обновлять время. Реализация думаю, будет проще, но время обновления будет зависеть от числа наблюдаемых.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Июнь, 2010 18:21 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Так контрол при любом изменении вызывает нотифайер с op = Dialog.change, если мне память не изменяет (сто лет с диалогами не работал, всё тексты :) ).
Вот пусть нотифайер и фиксирует время.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB