Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизУдаление из файла информации определенного размера Найти похожие ветки
← →
Reals (2005-07-28 10:42) [0]Здравствуйте!
Помогите пожалуйста со следующим вопросом.
Имеется текстовый файл размером, например в 1000Кb, необходимо удалить информацию из этого файла размером в 100Kb. Информацию нужно удалить с начала файла, а не с конца, то есть последняя записаная информация в конце файла остается, а старая информация (которая в начале файла), удалятся.
Как такое можно осуществить. Подкиньте пожалуйста идеи...
Заранее премного благодарен.
← →
Плохиш © (2005-07-28 10:50) [1]Копируешь в новый файл только нужные данные, удаляешь старый, переименовываешь новый.
← →
Reals (2005-07-28 12:17) [2]Так вот как именно взять нужные данные, а точнее вырезать этих первых 100Kb из файла, а то что осталось записать?
Спасибо!
← →
Kolan © (2005-07-28 12:25) [3]Копируещь начиная со следующего после 100kb байта. Те Со 100kb + 1байт и до конца.
Seek, AssignFile, file of, CloseFile... + F1
← →
Digitman © (2005-07-28 12:29) [4]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("новый_файл", "исходный_файл");
← →
афвуд (2005-07-28 12:30) [5]
Fil1,Fil2:TFileStream;
begin
//Тут просто открываешь эти файлы
Fil1.Position:=100000;
Fil2.CopyFrom(Fil1,900000);
//тут закрываешь эти файлы
Приблизительно так. Хотя задавать числа прямо вот так как я - некрасиво.. но это уже твои проблемы :)
← →
Reals (2005-07-28 12:46) [6]Спасибо всем огромное за подсказки.
Все получилось!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c