Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизРабота с TFileStream Найти похожие ветки
← →
Antonn © (2005-06-28 06:29) [0]Здравствуйте! Можно ли, используя TfileStream, добавлять в файл байты так, чтобы они не затирали другие? Т.е. вставить в файл со смещением последующих. И вырезать также, без перезаписи остальной части файла.
На данный момент использую несколько потоков,копирую из одного в другой, по идее файл заново переписываю. А он 100Мб, довольно медленно работает алгоритм.
← →
3DxFantastika © (2005-06-28 08:46) [1]я думаю нет
← →
default © (2005-06-28 08:57) [2]можешь посмотреть в сторону индексных файлов
← →
Anatoly Podgoretsky © (2005-06-28 09:04) [3]Невозможно записать куда то байты не переписав другие. Вопрос из серии как мне удалить чисто байт из байтовой переменной.
← →
Digitman © (2005-06-28 09:09) [4]
> вырезать также, без перезаписи остальной части файла
файл, отображенный в память (см. MMF) вместо файл-стрима, думаю, ощутимо эффективней будет
> вставить в файл со смещением последующих
без перезаписи тут никак не обойдешься
← →
TUser © (2005-06-28 11:52) [5]
program FileStr;
uses Classes, SysUtils;
var F: TFileStream;
S: string;
B: string[10];
begin
S:=ExtractFilePath(ParamStr(0))+"FileStr.txt";
if FileExists(S) then
F:=TFileStream.Create(S,fmOpenReadWrite)
else F:=TFileStream.Create(S,fmCreate);
try
F.Position:=F.Size;
B:="1234567890";
F.WriteBuffer(B,10);
finally
F.Free;
end;
end.
← →
Poirot © (2005-06-28 11:55) [6]TUser © (28.06.05 11:52) [5]
Помоему маленько не то. ты добавляешь, а ему нать вставить куда либо! -"т.е. вставить в файл со смещением последующих."
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c