Форум: "Начинающим";
Текущий архив: 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.043 c