Главная страница
    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
14-43826
военнообязанный
2004-02-21 20:47
2004.03.14
Идти на военную кафедру или нет?


3-43405
Alexander Smith
2004-02-13 01:22
2004.03.14
TTable, TTable.Filter


14-43842
Думкин
2004-02-22 06:14
2004.03.14
С днем рождения! 22 февраля.


1-43538
nft
2004-02-28 00:35
2004.03.14
Инкапсуляция


14-43839
Защитник Отечества
2004-02-22 12:22
2004.03.14
Всех С Праздником Меня!





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