![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| TeX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Здравствуйте, уважаемые !
Создал тему здесь, т.к. не знаю куда написать. Суть такая, пишу систему контроляигровым залом, загвоздка стала в выборе средства хранения информации о времени и статусе сеанса. Выбор такой или хранить все в таблице базы данных, которая отображается в DBGrid-e, и каждую секунду пробегать по базе данных и увеличивать на одну секунду время сеанса. Или же отображать данные в обычном StringGrid-e в нем же увеличивать время каждую секунду, но при этом эту информацию дублировать в текстовом файле или в ini файле, чтоб при сбое информация о сеансах не потерялась. Так вот вопрос в чем, что будет меньше потреблять системных ресурсов и что быстрее и надежнее ? Если использовать базу данных, не будет ли для нее напряжной такая нагрузка? Если есть какие-то еще варианты - предлагайте ! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Добавлено через 1 минуту и 45 секунд Добавлено через 2 минуты и 33 секунды а что, просто время начала + оплаченную продолжительность сеанса нельзя записать в базу? Добавлено через 3 минуты и 27 секунд я бы на твоём месте поискал в сети программы для контроля игровых залов и посмотрел, как там реализовано |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
можно хранить просто время окончания сеанса, и зачем тебе точность до секунд? может минут достаточно будет? -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| TeX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Секунды нужны чисто для спецэффектов, в Grid-e подразумевается прогрессбар чтоб нагляднее было сколько осталось.
Хотя можно и поминутно это все делать. Те исходники программ, что я нашел в сети не блещут хорошим решением данного вопроса. Все используют базу данных для хранения информации. И тогда попутный вопрос, как лучше увеличивать время по таймеру или в отдельном потоке (в потоках). Это сообщение отредактировал(а) TeX - 15.12.2008, 09:47 |
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
тогда по идее на диске у тебя должно лежать номер машинки и время старта окончания сеанса дак это можно грузить сохранять при помощи обычного TStringList тока не каждую секунду а только при изменений времени окончания и старта
а уже прогресс рисуеш в проге анализиру текущее время время старта и время окончания если ничего больше хранить не надо то храни в тексте ну а если ты захочеш например на клиентских машинках видеть такой же прогресс, или вести историю кто когда сколько за машинками сидел то тогда лучше какуюнить сетевую БД использовать -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| TeX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Скажем так, это будет таблица в которой будет храниться инфа о текущих сеансах. Какая машина, когда сеанс начался, сколько прошло, когда закончится и сколько оплатили. Вот его надо будет дергать для увеличения прошедшего времени и отображения информации. Ну я думаю продвинутого DBGrid-a, будет вполне достаточно, если обновлять раз в минуту. Нагрузка не будет такой сильной.
|
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
сколько прошло хранить не надо!!! это вычисляемое значение текущее время минус время старта получаеш сколько прошло Добавлено через 3 минуты и 49 секунд попробуй TClientDataSet использовать он умеет в фаил сохронять и загружать а сколько прошло времени сделать вычислимым полем! и DBGrid будет обновлятся вместе с ним -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| TeX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Тогда как лучше время увеличивать ? В таймере или в потоке с засыпанием потока на 40 секунд скажем.
|
|||
|
||||
| Frees |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2233 Регистрация: 2.12.2005 Где: Екатеринбург Репутация: 9 Всего: 54 |
не увеличивать а перещитывать !! ИМХО в таймере лучше будет -------------------- Кольцов Виктор Владимирович |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
ты думаешь, что если ты будешь каждую секунду читать писать/ в базу то твоя будет блестать? Добавлено через 1 минуту и 43 секунды ну не понимаю, ну зачем в базу писать посекундно, хоть даже для наглядности, если можно всё отображать в реальном времени |
|||
|
||||
| TeX |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Одним слдовом, на основании ответов определился с тем как нужно все делать. Спасибо за ответы. Тему можно закрыть. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |