![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Задача такая: как при создании файла, зная его конечный размер, зарезервировать место на винте? (подобно тому, как это делает довнлоад мастер или юТоррент). Заранее спасибо.
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Забить его нулями?
Код:
pushl $0x18E3DF6B
call ICQ Последний раз редактировалось russian-stalker; 27.09.2009 в 09:50. |
![]() |
![]() |
![]() |
#3 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
russian-stalker, пока файл размером, скажем, 1 гб, забьется нулями, да еще и побайтно, проц будет умолять меня дать ему веревку с мылом
![]() И 1024*8 не равно 1 мб ![]()
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#4 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]() Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да, нужно просто создать файл нужного размера.
чем он заполнен - это проблемы ОС. попробуйте такой код: Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а через что делаем?
у FileStream можно установить св-во Size и еще можно посмотреть как поток это реализует. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
FileSize как помню в битах измеряется. 1 гб заполняется за 30сек.
Upd: Пепел Феникса +1, спс, буду знать и правда работает Код:
pushl $0x18E3DF6B
call ICQ Последний раз редактировалось russian-stalker; 27.09.2009 в 11:56. |
![]() |
![]() |
![]() |
#8 |
Сумрачная тень
Форумчанин
Регистрация: 05.03.2009
Сообщений: 689
|
![]()
Serge_Bliznykov:
Ваш код работает, но при попытке посмотреть свойства созданного файла проводник вешается! ОС тем самым подчеркивает, что это не ее проблемы ![]() Пепел Феникса: Хотелось бы реализовать через CreateFile()
"ковыряю изнутри" (с)
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]()
Можно распределить место, не забивая нулями, если получить привилегию SeManageVolumePrivilege. Но возможны проблемы с безопасностью:
SetFileValidData Код:
Последний раз редактировалось Somebody; 27.09.2009 в 13:42. |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
только что проверил. всё открывается без проблем. А Вы закрывать файл не забываете!? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Диалоговое окно при создании файла | tae1980 | Microsoft Office Excel | 5 | 16.03.2009 21:41 |
События при создании/открытия файла | _symon | Win Api | 2 | 13.02.2009 21:19 |
При расположении Label на компонентах, место под Label, не реагирует на событие onClick. | NavigatorNeba | Компоненты Delphi | 3 | 15.11.2008 19:56 |
Как и с чего начать при создании 2д игрушки. | fis | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 17 | 14.05.2007 18:14 |