Вниз
Скачать: CL | DM;

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

← →
Ultr ©   (2004-02-22 00:14) [0]

Вопрос: как создать файл заранее определенного размера?
Нужно енто для более быстрой записи файла и минимальной его фрагментации.
Заранее благодарю!


← →
Gero ©   (2004-02-22 00:23) [1]

Заполнить его пробелами до нужного размера.


← →
Palladin ©   (2004-02-22 01:13) [2]


> Ultr © (22.02.04 00:14)

Не будь таким наивным, ничто тебя не спасет от фрагментации.


← →
Suntechnic ©   (2004-02-22 08:37) [3]

SetFilePointer + SetEndOfFile


← →
Defunct ©   (2004-02-22 10:07) [4]

> как создать файл заранее определенного размера?

ReWrite
Seek
CloseFile


← →
Ultr ©   (2004-02-22 17:01) [5]

Re: Defuct
В этом методе между Seek и CloseFile надо вставить BlockWrite или Write(в зависимости от типизации файла),иначе файл так и останется нулевым.
Этот метод я прошарил в аккурат после того как вопрос задал :) .

Re: Suntechnic
Если можно поподробней, как это применять, и желательно с кратеньким примером. Пожалста.
All:
Метод с Сиком хорош для кешируемых носителей - там он действительно хорошо избавляет от фрагменчуры, а вот для некешируемых, в момент сика и последующего врайта пустого места происходит действительно врайт с положенной ему затратой времени, и в итоге время записи удваивается :( .


← →
Ultr ©   (2004-02-22 17:05) [6]

И еще люди... А винда (ХР) ваще когда копирует практически никогда не фрагментирует (по крайней мере ну оччень старается), и как она этого добивается...


← →
Suntechnic ©   (2004-02-22 18:05) [7]

var
hFile : THandle;
begin
hFile := CreateFile("c:\x.x", GENERIC_WRITE, FILE_SHARE_READ, Nil, OPEN_CREATE_ALWAYS, 0, 0);
SetFilePointer(hFile, desired_size, Nil, FILE_BEGIN);
SetEndOfFile(hFile);
CloseHandle(hFile);
end;


Только я надеюсь ты не собираешься создавать файлы > 4Gb? Иначе придётся поиграть с 3-им параметром ф-ции SetFilePointer.


← →
Ultr ©   (2004-02-26 17:55) [8]

Большое спасиба... :)


← →
Fay ©   (2004-02-26 18:32) [9]

OPEN_CREATE_ALWAYS ??


← →
Ultr ©   (2004-02-28 19:58) [10]

Удалено модератором
Примечание: Базар фильтруй, да?!...


← →
Ultr ©   (2004-02-28 19:59) [11]

Удалено модератором
Примечание: Флуд...


← →
Ultr ©   (2004-02-28 20:35) [12]

Удалено модератором
Примечание: Не обижайся, что ветка закрыта...



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.017 c
4-43936
Saimon
2004-01-07 02:47
2004.03.14
Помоготе по SysTray ю...


1-43604
JIruaasgyy
2004-03-03 23:12
2004.03.14
Глюк при копированиии данных StringGrid в Excel?


6-43714
Lord_KILLMAN
2004-01-08 01:06
2004.03.14
Товарищи!!! Кто может чем-либо помочь (сет. прогр.) , отзовитесь!


14-43892
vic_vm
2004-02-18 18:02
2004.03.14
Delphi и ISOLATION_AWARE_ENABLED


1-43648
Marina_S
2004-03-03 23:43
2004.03.14
Как засечь время?




   Наверх