ADOTable и курсор в DBGrid

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Всем привет! Пишу шедулер(задачник,таймер). Использую ADOTable и DBGrid для отображения данных. Использую Timer для поска в DBGrid записи, и сравниваю указанное время с текущим. Таймер гоняет курсор с интервалом 0,100 сек. При этом у задач есть поле где пользователь может отменить на время исполнение задачи, т.е. как бы выключить ее. Из-за того что в DbGrid гоняет указатель с таким бешенным интервалом, я не могу в ручную изменить у записи значение вкл/выкл. Как тут можно решить проблему? Можно ли, чтоб я не видел как идет постоянный поиск по таблице данных и спокойно бы работал с данными в ручную?
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Ну давайте я по подробнее опишу мою программу,может кто предложит другой способ реализации ее.

Суть: Дать пользователю создавать несколько типов задач, например как выкл комп, запуск программы с параметрами, выдать сообщение, закрыть процесс, и все это в разное время, позволить пользователю включать, выключать поставленную задачу, не удаляя ее из списка.

Задача: Привязать к задаче заданные пользователем параметры, такие как имя файла, параметры запуска, имя процесса, выдаваемый текст.

Пытаюсь осуществить это, создав базу данных, где все это будет привязанно к задаче.

Проблема: не возможно осуществить вкл/выкл задачи, из-за постоянного поиска по базе совпадения заданного времени с текущим.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

я бы не стал таймером по базе лазить... создай список (массив), внеё можно хранить ID записи и время срабатывания таймером (имхо) достаточно тикать раз в секунду, проверяя время по массиву, если да - стоп, выбор из базы и прочее
при изменении текущего статуса по кнопице меняй массив
Изображение
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

Т.е. как я вас понял, деражать ADOTable и создать еще массив, в который закинуть ID записи и время, и гонять таймером по массиву в поиске совпадения времени. А как только меняется у записи в таблице Вкл/выкл - перезаписать массив с учетом этого. Правильно понимаю?
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

угумс
Изображение
Ответить