Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: 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 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1120132800
net_daemon
2005-06-30 16:00
2005.07.18
Обработка удаления в RichEdit e


4-1116498842
Molchanov
2005-05-19 14:34
2005.07.18
MessageBox в произвольном месте экрана


1-1119854437
AlexG
2005-06-27 10:40
2005.07.18
Как создать экземпляр TOleStream?


14-1119803589
Tirex
2005-06-26 20:33
2005.07.18
Сколько стрелок на будильнике?


1-1119801165
Euro
2005-06-26 19:52
2005.07.18
Modal Form