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

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

Удаление из файла информации определенного размера [D7, Win2k]


Reals ©   (2005-07-28 10:42:00) 

Здравствуйте!
Помогите пожалуйста со следующим вопросом.
Имеется текстовый файл размером, например в 1000Кb, необходимо удалить информацию из этого файла размером в 100Kb. Информацию нужно удалить с начала файла, а не с конца, то есть последняя записаная информация в конце файла остается, а старая информация (которая в начале файла), удалятся.

Как такое можно осуществить. Подкиньте пожалуйста идеи...

Заранее премного благодарен.


Reals   (2005-07-28 12:46:00) [1]

Спасибо всем огромное за подсказки.
Все получилось!


афвуд   (2005-07-28 12:30:00) [2]

Fil1,Fil2:TFileStream;
begin
//Тут просто открываешь эти файлы
Fil1.Position:=100000;
Fil2.CopyFrom(Fil1,900000);
//тут закрываешь эти файлы


Приблизительно так. Хотя задавать числа прямо вот так как я - некрасиво.. но это уже твои проблемы :)


Digitman   (2005-07-28 12:29:00) [3]

var src_fs, dst_fs : TFileStream;

..

src_fs := TFileStream.Create('исходный_файл', fmOpenRead);
dst_fs := TFileStream.Create('новый_файл', fmCreate);
src_fs.Position := 100 * 1024; //100кб
dst_fs.CopyFrom(src_fs, src_fs.Size - src_fs.Position);
src_fs.Free;
dst_fs.Free;
DeleteFile('исходный_файл');
RenameFile('новый_файл', 'исходный_файл');


Kolan   (2005-07-28 12:25:00) [4]

Копируещь начиная со следующего после 100kb байта. Те Со 100kb + 1байт и до конца.

Seek, AssignFile, file of, CloseFile... + F1


Reals   (2005-07-28 12:17:00) [5]

Так вот как именно взять нужные данные, а точнее вырезать этих первых 100Kb из файла, а то что осталось записать?

Спасибо!


Плохиш   (2005-07-28 10:50:00) [6]

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


Наверх

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