Определяет, как Reset будет открывать двоичный файл
System unit
var FileMode : Integer;
Описание
Переменная FileMode определяет режим, в котором процедура Reset открывает типизированный или нетипизированный файл.
Процедура Reset открывает нетекстовый файл в том режиме какой указан в FileMode - чтения, записи, или чтения+записи :
fmOpenRead = 0 = Только для чтения fmOpenWrite = 1 = Только для записи fmOpenReadWrite = 2 = Чтение и запись (значение по умолчанию)
Используйте Seek для перемещения текущей позиции файла. Это полезно для выборочного изменения или для добавления в конец файла.
Примечания
Предупреждение: значение по умолчанию Чтение и Запись. Поэтому открытие файла только для чтения (такиз как на CD) потерпело бы неудачу.
Похожие команды
AssignFile Связывает дескриптор файла с бинарным или текстовым файлом
Reset Открывает текстовый файл для чтения, или двоичный файл для чтения/записи
Пример кода : Демонстрация всех 3-х режимов доступа к файлам
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;
Содержимое файла в начале
123
456
789
Обновлённое содержимое файла
123
9876
789