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

Вниз

Удалить из файла кусок   Найти похожие ветки 

 
Strate ©   (2007-04-16 18:23) [0]

Здравствуйте. Не подскажете как удалить из файла к примеру первые N байт. Кроме перезаписи может что существует?


 
Amoeba ©   (2007-04-16 18:33) [1]

Ничего другого, кроме перезаписи в новый файл, не существует.


 
Riply ©   (2007-04-16 19:10) [2]

Сейчас меня сравняют с землей за "несение бреда в публичном месте", но рискну спросить:
А если как-нибудь исхитриться и сделать так, чтобы "хвостик" одного из кластеров,
занятых файлом указывал не на следующий кластер, а на "послеследующий" ?


 
Loginov Dmitry ©   (2007-04-16 22:45) [3]

> Здравствуйте. Не подскажете как удалить из файла к примеру
> первые N байт. Кроме перезаписи может что существует?


Еще можешь в цикле сместить следующие байты на N байт в начало файла и обрезать файл на N байт.


 
SlymRO ©   (2007-04-17 10:37) [4]

Riply ©   (16.04.07 19:10) [2]
а если N не кратное размеру кластера? не научились еще адресовать полкластера


 
Leonid Troyanovsky ©   (2007-04-17 10:55) [5]


> Strate ©   (16.04.07 18:23)  

> первые N байт. Кроме перезаписи может что существует?


procedure TForm1.Button1Click(Sender: TObject);
var
 fs1, fs2: TFilestream;
 fcount: Int64;
begin
 fcount := 5;
 fs1 := TFileStream.Create("file1.txt", fmOpenWrite or fmShareDenyWrite);
 fs2 := TFileStream.Create("file1.txt", fmOpenRead or fmShareDenyRead);
 fs2.Position := fcount;
 fs1.CopyFrom(fs2, fs2.Size - fcount);
 fs1.Size := fs1.Size - fcount;
 fs1.Free;
 fs2.Free;
end;

Но, если есть место на диске, то лучше не рисковать.

--
Regards, LVT.


 
Riply ©   (2007-04-17 11:02) [6]

> [4] SlymRO ©   (17.04.07 10:37)
>а если N не кратное размеру кластера? не научились еще адресовать полкластера
Разумеется, я подразумевала, что кратно :)
Но ведь там, скорее всего, надо не только изменить адрес,
но и еще что-то, чтобы ничего не испортить :) ?



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

Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.06 c
2-1175695178
Romm
2007-04-04 17:59
2007.05.06
Програмное управление


2-1176840303
Михась
2007-04-18 00:05
2007.05.06
В каждой строке матрицы А(8,12) вместо минимального элемента запи


8-1156137008
hero
2006-08-21 09:10
2007.05.06
Радио в stream


15-1175952567
Mozart
2007-04-07 17:29
2007.05.06
Корзина...


3-1171611402
zorik
2007-02-16 10:36
2007.05.06
Firebird 2. Declare procedure





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