Вниз
Скачать: CL | DM;

Работа с 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
14-1119361860
Zelius
2005-06-21 17:51
2005.07.18
Почему тему закрыли?


14-1118907275
Ega23
2005-06-16 11:34
2005.07.18
Приятель вчера прислал. Плакаль весь!!!


5-1089905607
ed30
2004-07-15 19:33
2005.07.18
Составной компонент со списком.


8-1111194529
Tga
2005-03-19 04:08
2005.07.18
Что в tga отвечает за прозрачность ?


14-1118922902
pasha_golub
2005-06-16 15:55
2005.07.18
Yacc&Lex




   Наверх