var FileMode : Integer;
Переменная FileMode определяет режим, в котором процедура Reset открывает типизированный или нетипизированный файл.
Процедура Reset открывает нетекстовый файл в том режиме какой указан в FileMode - чтения, записи, или чтения+записи :
fmOpenRead = 0 = Только для чтения
fmOpenWrite = 1 = Только для записи
fmOpenReadWrite = 2 = Чтение и запись (значение по умолчанию)
Используйте Seek для перемещения текущей позиции файла. Это полезно для выборочного изменения или для добавления в конец файла.
|
var
myWord, myWord1, myWord2, myWord3 : Word;
myFile : File of Word;
begin
// Попытка открыть бинарный файл Test.cus в режиме только для записи
AssignFile(myFile, 'Test.cus');
FileMode := fmOpenWrite;
ReSet(myFile);
// Запись нескольких строк Word данных в файл
myWord1 := 123;
myWord2 := 456;
myWord3 := 789;
Write(myFile, myWord1, myWord2, myWord3);
// Закрытие файла
CloseFile(myFile);
// Повторное открытие файла в режиме только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Показ содержимого файла
ShowMessage('Содержимое файла в начале');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Повторное закрытие файла
CloseFile(myFile);
// Повторное открытие файла в режиме чтение/запись
FileMode := fmOpenReadWrite;
Reset(myFile);
// Чтение одного Word данного, затем запись поверх следующего
Read(myFile, myWord);
myWord := 9876;
Write(myFile, myWord);
// Закрытие файла
CloseFile(myFile);
// Повторное открытие файла в режиме только для чтения
FileMode := fmOpenRead;
Reset(myFile);
// Показ содержимого файла
ShowMessage('Обновлённое содержимое файла');
while not Eof(myFile) do
begin
Read(myFile, myWord);
ShowMessage(IntToStr(myWord));
end;
// Close the file for the last time
CloseFile(myFile);
end;
|