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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
1-43564
satron
2004-02-25 00:33
2004.03.14
Подскажите компонент и свойства.


3-43364
Денисыч
2004-02-15 01:18
2004.03.14
Как включить BDE в инсталлятор


1-43580
tararasyk
2004-02-27 14:32
2004.03.14
Как нарисовать перпендикуляр ?


14-43880
Добрыня
2004-02-19 18:09
2004.03.14
лицензирование


14-43837
МАКСЮХА
2004-02-22 10:58
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский