Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Непрерывная запись в файл


Страницы:   1 2 3 4

unknowing ©   (2008-02-11 18:52:00) 

Всем привет! У меня следующаяя проблема: с СОМ-порта непрерывно приходят данные, которые я записываю в файл. В случае остановки записи программой (CloseFile) или выхода из программы все нормально. Интересует ситуация когда пропадает питание и комп выключается: файл не записывается на диск... Как защищаться от такой ситуации?


ketmar   (2008-02-13 18:36:00) [1]

>[65] unknowing (2008-02-13 18:33:00)
ну, тогда сиди на бочке с динамитом. %-)

---
Understanding is not required. Only obedience.


unknowing   (2008-02-13 18:33:00) [2]


> ketmar ©   (13.02.08 18:27) [64]

WinMe быстрее всяко на том ноуте. Есть умельцы по обрезанию ХР, но по стравнию с ВинМе медленнее


ketmar   (2008-02-13 18:27:00) [3]

>[63] unknowing (2008-02-13 18:24:00)
а напильничком потом? сервисы лишние поотрывать, морду попилять?

---
Understanding is not required. Only obedience.


unknowing   (2008-02-13 18:24:00) [4]


> ketmar ©   (13.02.08 18:19) [62]

Встанет, но туго очень!


ketmar   (2008-02-13 18:19:00) [5]

>[61] unknowing (2008-02-13 18:02:00)
да ну. я почти уверен, что хорошо обработаный напильником Win2k на вашу технику встанет и заработает вполне нормлально. если уж не совсем доисторическое 486.

---
Understanding is not required. Only obedience.


unknowing   (2008-02-13 18:02:00) [6]


> ketmar ©   (13.02.08 17:57) [60]

В моем случае можно интерпретировать так: "тем,кто бедно живет - не превыкать к геморрою"


ketmar   (2008-02-13 17:57:00) [7]

>[59] unknowing (2008-02-13 17:54:00)
тем, кто живёт на FAT — не привыкать к геморрою.

---
Understanding is not required. Only obedience.


unknowing   (2008-02-13 17:54:00) [8]

Вот результаты работы:
1. Периодичный FlushFileBuffers():
   - под NTFS & WinXP - порядик, потери данных не возникает;
   - под FAT32 & WinME - фиаско, все пропало, потеря данных.
2. Непрерывный CloseFile():
   - под NTFS & WinXP - порядик, потери данных не возникает;
   - под FAT32 & WinME - порядик, потери данных не возникает.


MBo   (2008-02-12 13:55:00) [9]

Пиши кусочки в небольшие файлы, потом вместе соберешь


Джо   (2008-02-12 13:31:00) [10]

> [56] guav ©   (12.02.08 12:56)
> > [53] Джо ©   (12.02.08 12:00)
>
> У меня оба прекрасно сосуществуют. Старого на всякий случай
> ещё одну копию прожёг :)
> Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/det
> ails.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en

Спасибо, обязательно восстановлю удаленный, потому как это не дело...


guav   (2008-02-12 12:56:00) [11]

> [53] Джо ©   (12.02.08 12:00)

У меня оба прекрасно сосуществуют. Старого на всякий случай ещё одну копию прожёг :)
Кстати, его пока ещё можно скачать http://www.microsoft.com/downloads/details.aspx?familyid=B8704100-0127-4D88-9B5D-896B9B388313&displaylang=en


Slym   (2008-02-12 12:46:00) [12]

не проще бесперебойник купить?


clickmaker   (2008-02-12 12:07:00) [13]


>  [53] Джо ©   (12.02.08 12:00)

не все МСДНы одинаково полезны )


Джо   (2008-02-12 12:00:00) [14]

> [51] guav ©   (12.02.08 11:34)
> Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/e
> n-us/library/ms682411.aspx
> Последний MSDN в котором не забили на 95/98/NT был April
> 2007

Offtop. Блин, как-раз неделю назад его снес и поставил от VS 2008 :(


guav   (2008-02-12 11:36:00) [15]

Я бы таки предпочёл задать размер файла заранее, затем использовать FILE_FLAG_NO_BUFFERING и FILE_FLAG_WRITE_THROUGH.
В этом случае после возврата WriteFile данные будут записаны. Время модификации не гарантируется, но оно не так важно


guav   (2008-02-12 11:34:00) [16]

Судя по MSDN, CreateMutex тоже нет в 98 и NT http://msdn2.microsoft.com/en-us/library/ms682411.aspx
Последний MSDN в котором не забили на 95/98/NT был April 2007


clickmaker   (2008-02-12 11:23:00) [17]


> Теперь просьба к clickmaker'у указать свои источники цитирования

секция экспорта в kernel32.dll )


Anatoly Podgoretsky   (2008-02-11 21:14:00) [18]

> unknowing  (11.02.2008 20:54:46)  [46]

CloseFile это гарантия.
Я сейчас не могу найти информацию, на поведение при аварийном завершение, но отно отличается в зависимости от ОС и ФС


Anatoly Podgoretsky   (2008-02-11 21:13:00) [19]

> Джо  (11.02.2008 20:52:45)  [45]

В MS SDK - Win 95, Win32s


unknowing   (2008-02-11 21:02:00) [20]

http://vsokovikov.narod.ru/New_MSDN_API/Menage_files/fn_flushfilebuffers.htm


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо