Процедура Write – записывает данные в бинарный или текстовый файл

Процедура Write в Delphi записывает данные в бинарный или текстовый файл.

Процедура Write: Иллюстрация записи простой, множественной и форматированной строки текста

var
  myFile : TextFile;
  text   : string;
  i      : Integer;

begin
  // Попытка открыть файл Test.txt для записи
  AssignFile(myFile, 'Test.txt');
  ReWrite(myFile);

  // Запись нескольких известных слов в этот файл
  Write(myFile, 'Hello ');
  Write(myFile, 'World');

  // Заканчиваем эту строку
  WriteLn(myFile);

  // Запись некоторых чисел в файл как одиночная линия
  for i := 2 to 4 do
    Write(myFile, i/2, '  ');

  // Заканчиваем эту строку
  WriteLn(myFile);

  // Повторение вышеупомянутого, но с форматированием чисел
  for i := 2 to 4 do
    Write(myFile, i/2:5:1);

  // Заканчиваем эту строку
  WriteLn(myFile);

  // Закрываем файл
  CloseFile(myFile);

  // Повторное открытие файла только для чтения
  Reset(myFile);

  // Показ содержимого файла
  while not Eof(myFile) do
  begin
    ReadLn(myFile, text);
    ShowMessage(text);
  end;

  // Закрытие файла в последний раз
  CloseFile(myFile);
end;

Процедура Write: Запись типизированных записей в двоичный файл типа записи

type
  TCustomer = record
    name : string[20];
    age  : Integer;
    male : Boolean;
  end;

var
  myFile   : File of TCustomer;  // Файл записи клиента
  customer : TCustomer;

begin
  // Попытка открыть бинарный файл Test.cus для записи
  AssignFile(myFile, 'Test.cus');
  ReWrite(myFile);

  // Запись нескольких записей клиента в файл
  customer.name := 'Fred Bloggs';
  customer.age  := 21;
  customer.male := true;
  Write(myFile, customer);

  customer.name := 'Jane Turner';
  customer.age  := 45;
  customer.male := false;
  Write(myFile, customer);

  // Закрытие файла
  CloseFile(myFile);

  // Повторное открытие файла в режиме только для чтения
  FileMode := fmOpenRead;
  Reset(myFile);

  // Показ содержимого файла
  while not Eof(myFile) do
  begin
    Read(myFile, customer);
    if customer.male
    then ShowMessage('Мужчина по имени '+customer.name+
                     ' - '+IntToStr(customer.age))
    else ShowMessage('Женщина по имени '+customer.name+
                     ' - '+IntToStr(customer.age));
  end;

  // Закрытие файла в последний раз
  CloseFile(myFile);
end;

Процедура Write: Запись в двоичный файл типа Word

var
  myWord, myWord1, myWord2 : Word;
  myFile : File of Word;

begin
  // Попытка открыть бинарный файл Test.bin для записи
  AssignFile(myFile, 'Test.bin');
  ReWrite(myFile);

  // Запись нескольких строк Word данных в файл
  myWord1 := 234;
  myWord2 := 567;
  Write(myFile, myWord1, myWord2);

  // Закрытие файла
  CloseFile(myFile);

  // Повторное открытие файла в режиме только для чтения
  FileMode := fmOpenRead;
  Reset(myFile);

  // Показ содержимого файла
  while not Eof(myFile) do
  begin
    Read(myFile, myWord);
    ShowMessage(IntToStr(myWord));
  end;

  // Закрытие файла в последний раз
  CloseFile(myFile);
end;

Main Menu