Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];
ВнизОбрезать длину файла при перезаписи Найти похожие ветки
← →
dramadol (2008-02-24 16:47) [0]Делаю так:
h, len: Integer;
buff: PChar;
begin
h:= FileOpen(FileName, fmOpenReadWrite);
if h < 1 then exit;
len:= FileSeek(h, 0, 2); FileSeek(h, 0, 0);
GetMem(buff, Len);
FileRead(h, buff^, Len);
FileSeek(h, 0, 0);
FileWrite(h, buff^, Len div 2);
FileClose(h);
это утрированый пример. думал и длина станет в два раза меньше, но длина остается прежней.
Вспомнил ассемблер и после записи попытался нулевой длины записать:
FileWrite(h, buff^, 0);
- результат тот же.
не подскажите как в имеющийся файл данными методами записать меньший объём обрезав соответственно длину?
можно было бы закрывать файл, потом создавать и писать но это как то некрасиво...
← →
Плохиш © (2008-02-24 16:55) [1]SetEndOfFile
← →
dramadol (2008-02-24 17:08) [2]точно) сенкс!
век живи - век учись...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.23;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c