Главная страница
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.026 c
1-1119878055
Begin
2005-06-27 17:14
2005.07.18
Список полей класса. Можно как то получить в runtime?


14-1119712856
lookin
2005-06-25 19:20
2005.07.18
Открытая страница и дополнительный трафик...


4-1116429235
AlexaB
2005-05-18 19:13
2005.07.18
Как программно изменить текущий пароль


14-1119340150
BiN
2005-06-21 11:49
2005.07.18
Ну заработал, наконец-то


14-1119612774
rOOse
2005-06-24 15:32
2005.07.18
телефоны Сенао