![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сохранение в файл данных [D5, XP]
Юнкер © (2006-05-11 19:32:00)Делаю в программе сохранение важных данных в файл на диск:
var
mydata : TMemoryStream;
......
mydata.SaveToFile(Path +'data.dat');
Данные требуется как-то сохранить каждый раз когда изменяются на случай "выключения электричества" и др. стихийных бедствий. Дело в том что часто данные могут меняться несколько раз в секунду и всегда происходит сохранение.
Правильный ли это подход? Есть подводные камни? Если неправильно, то как делают умные люди?
Юнкер (2006-05-12 08:38:00) [1]> ну можно таймер и счетчик какой придумать, т.е. таймер отсчитывает
> 5 секунд, а счетчик увеличивается при изменении данных.
> когда таймер срабатывает, проверяет счетчик, если тот больше
> 0 - сохраняет и обнуляет счетчик.
> а, если не секрет, что это за такие важные данные? :)
Программа для комп.клуба. Не вдаваясь в специфику, данные - деньги, время и личные данные юзера. Сохранение нужно всякий раз при изменении этих данных. Если система повисла, программа завершилась некорректно, резет нажали или еще что, то при следующем запуске нужно восстановить сеанс. Счетчик неподойдет - на момент срабатывания таймера изменений может быть больше одного раза. А если сбой в этот момент?
Впринципе и так все работает, я просто хотел узнать если такое кто-то делал, то как? Нормально ли при работе программы постоянно писать в файл? Если какие-то грабли?
antonn (2006-05-12 07:38:00) [2]Юнкер (11.05.06 20:21) [7]
Я написал в [0]
ну я вижу, что там в файл, в принципе, все сохраняется в файл на диск:)
может там база была, вот и хотел проверить...
ну можно таймер и счетчик какой придумать, т.е. таймер отсчитывает 5 секунд, а счетчик увеличивается при изменении данных. когда таймер срабатывает, проверяет счетчик, если тот больше 0 - сохраняет и обнуляет счетчик.
а, если не секрет, что это за такие важные данные? :)
Юнкер (2006-05-11 20:21:00) [3]
> antonn © (11.05.06 20:04) [6]
Я написал в [0]
144 байта сохраняется на диск в файл несколько раз в секунду. я правильно делаю? Получается что этот файл будет часто перезаписываться во время работы программы. Это нормально? Какие грабли могут быть?
antonn (2006-05-11 20:04:00) [4]зависит от того, куда и в каких объемах сохранение:)
Юнкер (2006-05-11 19:44:00) [5]
> antonn © (11.05.06 19:40) [3]
Я и сохраняю сразу после изменения. Только меняться они могут несколько раз в секунду. Это нормально?
Юнкер (2006-05-11 19:42:00) [6]Да надо...
Хочется подстраховать юзера как только можно. Программа может сглючить, комп может подвиснуть от другого софта, да мало ли что. Тем более что это не так сложно, там 144 байта данных.
antonn (2006-05-11 19:40:00) [7]Юнкер (11.05.06 19:32)
Если неправильно, то как делают умные люди?
сохраняют сразу после изменения.
Джо (2006-05-11 19:38:00) [8]> основывается
лишнее, сорри.
Джо (2006-05-11 19:37:00) [9]
> то как делают умные люди?
Надежность компьютерной системы не основывается обеспечивается только лишь программными решениями, но и соответствующим оборудованием. Иными словами, дисковые массивы, источники бесперебойного питания и прочая и прочая не зря выдумали.