Справочник функций и процедур Delphi: FileMode

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

 

FileMode
Переменная
Определяет, как Reset будет открывать двоичный файл System unit
  var FileMode : Integer;

Google  
 
Описание
Переменная 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
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook