Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с TFileStream


Antonn ©   (2005-06-28 06:29:00) 

Здравствуйте! Можно ли, используя TfileStream, добавлять в файл байты так, чтобы они не затирали другие? Т.е. вставить в файл со смещением последующих. И вырезать также, без перезаписи остальной части файла.
На данный момент использую несколько потоков,копирую из одного в другой, по идее файл заново переписываю. А он 100Мб, довольно медленно работает алгоритм.


Poirot   (2005-06-28 11:55:00) [1]

TUser ©   (28.06.05 11:52) [5]
Помоему маленько не то. ты добавляешь, а ему нать вставить куда либо! -"т.е. вставить в файл со смещением последующих."


TUser   (2005-06-28 11:52:00) [2]

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.


Digitman   (2005-06-28 09:09:00) [3]


> вырезать также, без перезаписи остальной части файла


файл, отображенный в память (см. MMF) вместо файл-стрима, думаю, ощутимо эффективней будет


> вставить в файл со смещением последующих


без перезаписи тут никак не обойдешься


Anatoly Podgoretsky   (2005-06-28 09:04:00) [4]

Невозможно записать куда то байты не переписав другие. Вопрос из серии как мне удалить чисто байт из байтовой переменной.


default   (2005-06-28 08:57:00) [5]

можешь посмотреть в сторону индексных файлов


3DxFantastika   (2005-06-28 08:46:00) [6]

я думаю нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо