Облака / Clouds
    Go to Copy.com
    Copy.com
    The bast cloud service
    Get 20 GB free!!!
    Support WebDav.
    Show more >>

    Go to Dropbox.com
    Dropbox.com
    time-tested cloud storage
    Support WebDav.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Перегенерировать все индексы Dbase
   Категория: Базы данных
  Показать удаленные записи в DBase
   Категория: Базы данных
  Округление целого числа до 5
   Категория: Математика
  Тpансляция ошибок в BDE
   Категория: Базы данных
  Создание и удаление полей
   Категория: Базы данных
  Удалить свой же exe-шник
   Категория: Приложение
  Удалить или оставить симолы
   Категория: Текст и строки
  Узнать запущен ли сервис FireBird
   Категория: Интернет и Сети
  Компоненты CoolBar и ControlBar
   Категория: Компоненты

Delphi - Справочник: FileMode

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 FileMode
var FileMode : Integer;
Переменная (Unit System)
Определяет, как Reset будет открывать двоичный файл
Описание:
Переменная FileMode определяет режим, в котором процедура Reset открывает типизированный или нетипизированный файл.

Процедура Reset открывает нетекстовый файл в том режиме какой указан в FileMode - чтения, записи, или чтения+записи :

fmOpenRead = 0 = Только для чтения
fmOpenWrite = 1 = Только для записи
fmOpenReadWrite = 2 = Чтение и запись (значение по умолчанию)

Используйте Seek для перемещения текущей позиции файла. Это полезно для выборочного изменения или для добавления в конец файла.
Пример кода: Демонстрация всех 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
Примечание:
Предупреждение: значение по умолчанию Чтение и Запись. Поэтому открытие файла только для чтения (такиз как на CD) потерпело бы неудачу.

  << Вернуться