Главная страница
    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.015 c
1-43486
Alexis
2004-02-29 12:10
2004.03.14
динамический Buffer


1-43473
iudjen
2004-02-29 17:48
2004.03.14
random


8-43690
tse
2003-11-09 00:07
2004.03.14
Запись звука с линейного входа в wav файл


1-43626
Builder
2004-03-03 20:00
2004.03.14
TTimer


3-43265
Владий
2004-02-12 16:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский