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

Вниз

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

 
ketmar ©   (2008-02-11 20:42) [40]

>[37] clickmaker © (2008-02-11 20:37:00)
а то! правда, первый играет вечную музыку, а второй какую-то попсу по типу black magic woman. %-)

---
Understanding is not required. Only obedience.


 
ketmar ©   (2008-02-11 20:42) [41]

>[38] unknowing (2008-02-11 20:38:00)
тебе давно всё рассказали. идёшь и пробуешь.

---
Understanding is not required. Only obedience.


 
guav ©   (2008-02-11 20:45) [42]

> [0] unknowing   (11.02.08 18:52)

Не использовать кэши системы (FILE_FLAG_NO_BUFFERING, FILE_FLAG_WRITE_THROUGH). Писать посекторно или по много секторов, но целое число секторов, в конец каждого сектора пару байт сигнатуры, при чтении её проверять (сравнением с ожидаемым значением), при повторной записи в то же место - изменять. Не смешивать выделение места и запись - это разные операции.
Это используется в NTFS и в CLFS.

Есть специально для подобной задачи Common Log File System (CLFS)
http://msdn2.microsoft.com/en-us/library/bb986747(VS.85).aspx
Сам не использовал реально, только "игрался" с ней, но похоже, что то, что тебе нужно.
Но требуется 2003 сервер или виста.


 
Джо ©   (2008-02-11 20:47) [43]

> [39] clickmaker ©   (11.02.08 20:39)
>
> > [36] Джо ©   (11.02.08 20:36)
>
> у тебя МСДН неправильный )
> есть она и в 98 и в 95 и даже в Win32s под win3.1 )

Какой есть, шел из комплекта VS 2008...


 
Anatoly Podgoretsky ©   (2008-02-11 20:49) [44]

> unknowing  (11.02.2008 20:38:38)  [38]

Короче тебе все рассказали, остались только нюансы функционирования на разных ФС.


 
Джо ©   (2008-02-11 20:52) [45]

Чтобы окончательно добить вопрос с FlushFileBuffers и MSDN, цитирую онлайн-версию:
Client Requires Windows Vista, Windows XP, or Windows 2000 Professional.
Теперь просьба к clickmaker"у указать свои источники цитирования ;)


 
unknowing   (2008-02-11 20:54) [46]


> Anatoly Podgoretsky ©   (11.02.08 20:49) [44]

У меня конкретная фс... Короче, кроме CloseFile,  я так понял, ничего путного нет.


 
unknowing   (2008-02-11 21:02) [47]

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


 
Anatoly Podgoretsky ©   (2008-02-11 21:13) [48]

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

В MS SDK - Win 95, Win32s


 
Anatoly Podgoretsky ©   (2008-02-11 21:14) [49]

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

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


 
clickmaker ©   (2008-02-12 11:23) [50]


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

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


 
guav ©   (2008-02-12 11:34) [51]

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


 
guav ©   (2008-02-12 11:36) [52]

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


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

> [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 :(


 
clickmaker ©   (2008-02-12 12:07) [54]


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

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


 
Slym ©   (2008-02-12 12:46) [55]

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


 
guav ©   (2008-02-12 12:56) [56]

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

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


 
Джо ©   (2008-02-12 13:31) [57]

> [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

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


 
MBo ©   (2008-02-12 13:55) [58]

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


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

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


 
ketmar ©   (2008-02-13 17:57) [60]

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

---
Understanding is not required. Only obedience.


 
unknowing   (2008-02-13 18:02) [61]


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

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


 
ketmar ©   (2008-02-13 18:19) [62]

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

---
Understanding is not required. Only obedience.


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


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

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


 
ketmar ©   (2008-02-13 18:27) [64]

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

---
Understanding is not required. Only obedience.


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


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

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


 
ketmar ©   (2008-02-13 18:36) [66]

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

---
Understanding is not required. Only obedience.



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

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

Наверх




Память: 0.57 MB
Время: 0.049 c
2-1202655439
Artem
2008-02-10 17:57
2008.03.09
Проблема с TStrings


2-1202723527
alexsashkan
2008-02-11 12:52
2008.03.09
Проблема с выборкой из базы


15-1202111721
Valentina_HR
2008-02-04 10:55
2008.03.09
поомгите найти программиста Delphi!!! (Санкт-Петербург)


15-1201246529
DeadMeat
2008-01-25 10:35
2008.03.09
Про антивири (плиз, только не холивар)


4-1184224151
DelphiN!
2007-07-12 11:09
2008.03.09
RunAs программы под SYSTEM-ом не работает





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский