Процедура Truncate в Delphi уменьшает размер файла, удаляя все данные после текущей позиции.
System unit
procedure Truncate (var FileHandle : File);
Процедура Truncate усекает файл в текущей позиции файла. Все данные после текущей позиции файла стираются.
Файл должен быть назначен с помощью Assign и открыт с помощью RewRite или Reset.
Текстовые файлы не поддерживаются.
Процедура Truncate: Запись в файл, затем его усечение
var
myWord, myWord1, myWord2 : Word;
myFile : File of Word;
begin
// Попытка открыть бинарный файл Test.bin для записи
AssignFile(myFile, 'Test.cus');
ReWrite(myFile);
// Записываем пару слов в файл Word
myWord1 := 234;
myWord2 := 567;
Write(myFile, myWord1, myWord2);
// Закрытие файла
CloseFile(myFile);
// Показ содержимого файла
Reset(myFile);
ShowMessage('Перед усечением :');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Закрытие, повторное открытие, и усечение после первого слова
CloseFile(myFile);
FileMode := 2;
Reset(myFile);
Read(myFile, myWord);
Truncate(myFile);
CloseFile(myFile);
// Снова показываем содержимое файла
Reset(myFile);
ShowMessage('После усечения :');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Закрытие файла в последний раз
CloseFile(myFile);
end;
Результат
Перед усечением:
234
567
После усечения:
234
Похожие функции, процедуры и команды
Append — открывает текстовый файл, для добавления записей в файл (добавляет в конец файла).
Erase — стирает файл.
FilePos — дает позицию файла в двоичном или текстовом файле.
