Помощь - Поиск - Пользователи - Календарь
Полная версия: Запись в файл при отключении питания
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Александр
Привет Всем!

Проблема


Программа реального времени, данные хранятся в файле на диске, DOS. При событии счетчики событий увеличиваются и в записываются в файл, а дальше идет обработка. Если в это время выйти из программы по keypress(не стоит close(f1) ) , то все работает отлично.  Если выключить питание (причем бывает с задержкой в 1-2 секунды), то иногда запоминается, а иногда нет.

Сталкивался ли кто с этим, сделал ли
Заранее благодарен
Щербаков Александр
Александр
К вышесказанному хочу добавить:

Открытие файла делаю так
 assign(f1,'aaa.aa');
 reset(f1);
 считываю данные
 

Для записи
n:=3;
seek(f1,n);
 vv:=1;
 write(f1,vv);
close(f1);
reset(f1);

  Пробовал перед записью добовлять reset(f1) - не помогает

 Пробовал перед записью добовлять rewrite - после выкл. питания
портятся файлы.
mj
Windows кеширует записываемые данные, а ты как видно тут же открываешь файл и Windows считает что с записью можно подождать...
Возможно и не в этом дело, это тока предположение...
GLuk
Вроде как он под голым ДОС'ом запускает?? Версию ДОС тогда напиши и есть ли smartdrv (драйвер такой под ДОС - кеш ЖД)?? Просто писать прогу-realtime (+там видать ишшо и порты замешаны) на паскале под виндой - хрень...
Александр
DOS 6.2

Smartdrv есть.Попробую с ним поиграть
Спасибо за идею.
GLuk
Его вообще нужно убрать и вообще такие проги лучше писать без какой-либо ОС... Если конечно все юзается только по минимуму (вывод на экран и работа с портами).
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.