Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: 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 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.011 c
1-43531
Woolen
2004-02-28 12:10
2004.03.14
Кряк для восьмерки


7-43932
Kerk
2003-12-18 11:44
2004.03.14
PhysicalMemory


8-43685
JB
2003-11-05 12:18
2004.03.14
Кривые Безье


11-43409
avakss
2003-06-17 17:12
2004.03.14
KOL+KOLindy


3-43335
Expo
2004-02-13 15:24
2004.03.14
Дата в RxQuery





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