Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обновление DBGRID по таймеру [D7, IB6.x]


Страницы:   1 2 3 4

Lokk83 ©   (2007-06-22 02:25:00) 

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


Mike Kouzmine   (2007-06-22 21:58:00) [1]

Поставь обновление в событик переключающее цвет в лампочке.


Anatoly Podgoretsky   (2007-06-22 19:59:00) [2]

> Lokk83  (22.06.2007 17:11:59)  [59]

Плюнь, пойди выпей пива и стране полезно.


Lokk83   (2007-06-22 17:11:00) [3]

нет, не нашел, у меня примерно тоже самое что в [57].
работает все кроме нормального отображения списка событий
но у меня действительно почему то происходит очистка датасета
мне кажется


Плохиш   (2007-06-22 16:02:00) [4]


> Lokk83   (22.06.07 15:48) [56]

АФФтар, ты уже нашёл, в какой момент твоя таблица закрывается и почему?


fdsa   (2007-06-22 15:57:00) [5]

Видел одну программу, фирма Спецавтоматика г.Тверь разрабатывает,
у них, есть графический интерфейс, где все красиво нарисовано. Если меняется состояние датчика - пишется событие в БД, меняется картинка отображающая состояние датчика, и есть что-то типа листбокса, который выскакивает поверх всех окон, куда добавляется сообщение вида:
22.06.2007 15:48:46 ШЛЕЙФ ХХХ ДАТЧИК УУУ - бла-бла-бла.


Lokk83   (2007-06-22 15:48:00) [6]

так не положено, положено чтобы была графическая индикация и табличный вид


Sergey13   (2007-06-22 15:29:00) [7]

> [54] Lokk83   (22.06.07 15:26)

Ну так лампочка (которая есть) загорелась - пусть ткнет в нее мышой и посмотрит детализацию. Обмозговал увиденной, обновить захотел - пусть еще ткнет.


Lokk83   (2007-06-22 15:26:00) [8]

в том то и дело что не надо его обновлять два раза в секунду, а нужно только при изменениях в таблице, а изменения происходят не часто


Sergey13   (2007-06-22 15:00:00) [9]

> [52] Mike Kouzmine ©   (22.06.07 14:59)

Не факт, что оператор что то поймет в гриде с обновлением 2 раза в секунду. 8-)


Mike Kouzmine   (2007-06-22 14:59:00) [10]

Sergey13 ©   (22.06.07 14:38) [51] Чтобы быть уверенным, что оператор понял. Лучше перебдеть, чем недобдеть, а так же видеть, что программа не зависла, а выполняет серьезную раьоту.


Sergey13   (2007-06-22 14:38:00) [11]

> [50] Lokk83   (22.06.07 14:35)

Раз есть лампочки - зачем таблицу то обновлять по таймеру?


Lokk83   (2007-06-22 14:35:00) [12]

лампочки есть, все есть, а НАДО чтобы была таблица ещё!


Sergey13   (2007-06-22 14:31:00) [13]

> [46] Lokk83   (22.06.07 14:15)
> датчиков около 40
Ну и нарисуй 40 красных лампочек (можно компонентик какой нить красивый поискать для этого, можно просто Едит поставить с выводом кода состояния и выделением уветом) горящих или не горящих с указанием времени последней смнены состояния.


Lokk83   (2007-06-22 14:27:00) [14]

это будет быстрее?
кстати,  в стринг грид ручками получается надо забываить?


Плохиш   (2007-06-22 14:21:00) [15]


> зачем это?

Чтобы не считать "количества строк"


Lokk83   (2007-06-22 14:15:00) [16]

датчиков около 40, кстати, опрашивать она прекрасно успевает....
> Так и сравнивай время последней записи с временем последнего
> изменения. +

зачем это?


Johnmen   (2007-06-22 14:04:00) [17]

"ЭТО" никогда нормально работать не будет.
Прав Плохиш, грустно и скучно... А ещё немного тревожно...:)


Sergey13   (2007-06-22 14:04:00) [18]

> [42] Lokk83   (22.06.07 13:57)

Сколько всего датчиков?


Плохиш   (2007-06-22 14:03:00) [19]


> момент изменения я отлавливаю  вычислением количества строк
> в начале процедуры и в конце и сравниваю их если больше
> тогда  надо перезапрашивать данные, если нет то нет

Так и сравнивай время последней записи с временем последнего изменения. + [6]


Lokk83   (2007-06-22 13:57:00) [20]

Работает так, у датчика есть несколько состояний(нрома, кз, пожар, обрыв, неисправность) каждый из них представляет собой на выходе либо 0 либо 1, в лог я заношу ТОЛЬКО изменения, и они действительно заносятся. мне нужно при наличи этих изменений перерисовывать dbgrid, чтобы оператор видел какой датчик во сколько изменил свое состояние напрмиер с норма на обрыв.
момент изменения я отлавливаю  вычислением количества строк в начале процедуры и в конце и сравниваю их если больше тогда  надо перезапрашивать данные, если нет то нет
Как мне сделать чтобы это нормально работало.....


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо