Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
Юнкер   (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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.01 c
3-1141968297
Tornado
2006-03-10 08:24
2006.05.28
Перекинуть данные из Access в MS SQL Server


15-1146745311
Jeer
2006-05-04 16:21
2006.05.28
Ремикс.


2-1147286364
mctarik
2006-05-10 22:39
2006.05.28
ToolButton?


1-1145610805
Virtukon
2006-04-21 13:13
2006.05.28
TShellTreeView и свойство readonly


6-1138795143
Phoenix9000
2006-02-01 14:59
2006.05.28
Удаление и копирование файлов на сетевой ресурс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский