![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление из файла информации определенного размера [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]Копируешь в новый файл только нужные данные, удаляешь старый, переименовываешь новый.