Вниз
Скачать: CL | DM;

сохранение в файл данных   Найти похожие ветки 

 
Юнкер   (2006-05-11 19:32) [0]

Делаю в программе сохранение важных данных в файл на диск:
var
mydata : TMemoryStream;
 ......
mydata.SaveToFile(Path +"data.dat");

Данные требуется как-то сохранить каждый раз когда изменяются на случай "выключения электричества" и др. стихийных бедствий. Дело в том что часто данные могут меняться несколько раз в секунду и всегда происходит сохранение.
Правильный ли это подход? Есть подводные камни? Если неправильно, то как делают умные люди?


 
Джо ©   (2006-05-11 19:37) [1]


> то как делают умные люди?


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


 
Джо ©   (2006-05-11 19:38) [2]

> основывается

лишнее, сорри.


 
antonn ©   (2006-05-11 19:40) [3]

Юнкер   (11.05.06 19:32)
Если неправильно, то как делают умные люди?

сохраняют сразу после изменения.


 
Юнкер   (2006-05-11 19:42) [4]

Да надо...
Хочется подстраховать юзера как только можно. Программа может сглючить, комп может подвиснуть от другого софта, да мало ли что. Тем более что это не так сложно, там 144 байта данных.


 
Юнкер   (2006-05-11 19:44) [5]


> antonn ©   (11.05.06 19:40) [3]

Я и сохраняю сразу после изменения. Только меняться они могут несколько раз в секунду. Это нормально?


 
antonn ©   (2006-05-11 20:04) [6]

зависит от того, куда и в каких объемах сохранение:)


 
Юнкер   (2006-05-11 20:21) [7]


> antonn ©   (11.05.06 20:04) [6]

Я написал в [0]
144 байта сохраняется на диск в файл несколько раз в секунду. я правильно делаю? Получается что этот файл будет часто перезаписываться во время работы программы. Это нормально? Какие грабли могут быть?


 
antonn ©   (2006-05-12 07:38) [8]

Юнкер   (11.05.06 20:21) [7]
Я написал в [0]

ну я вижу, что там в файл, в принципе, все сохраняется в файл на диск:)
может там база была, вот и хотел проверить...
ну можно таймер и счетчик какой придумать, т.е. таймер отсчитывает 5 секунд, а счетчик увеличивается при изменении данных. когда таймер срабатывает, проверяет счетчик, если тот больше 0 - сохраняет и обнуляет счетчик.

а, если не секрет, что это за такие важные данные? :)


 
Юнкер   (2006-05-12 08:38) [9]

> ну можно таймер и счетчик какой придумать, т.е. таймер отсчитывает
> 5 секунд, а счетчик увеличивается при изменении данных.
> когда таймер срабатывает, проверяет счетчик, если тот больше
> 0 - сохраняет и обнуляет счетчик.
> а, если не секрет, что это за такие важные данные? :)

Программа для комп.клуба. Не вдаваясь в специфику, данные - деньги, время и личные данные юзера. Сохранение нужно всякий раз при изменении этих данных. Если система повисла, программа завершилась некорректно, резет нажали или еще что, то при следующем запуске нужно восстановить сеанс. Счетчик неподойдет - на момент срабатывания таймера изменений может быть больше одного раза. А если сбой в этот момент?
Впринципе и так все работает, я просто хотел узнать если такое кто-то делал, то как? Нормально ли при работе программы постоянно писать в файл? Если какие-то грабли?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.028 c
15-1146264001
Atratata
2006-04-29 02:40
2006.05.28
Помогите с анг. языком


2-1147111725
Nicky
2006-05-08 22:08
2006.05.28
Ошибка при проссмотре отчета


1-1145526338
.ruslan
2006-04-20 13:45
2006.05.28
Сортировка ListView


2-1147159577
romychk
2006-05-09 11:26
2006.05.28
Не открывается файл Paradoxa.А он очень нужен есть ли аналог DBED


15-1146400390
ArtemESC
2006-04-30 16:33
2006.05.28
Loop




   Наверх