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

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

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

var
  myFile    : File;
  byteArray : array[1..8] of byte;
  oneByte   : byte;
  i, count  : Integer;

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

  // Заполнение массива данными
  for i := 1 to 8 do
    byteArray[i] := i;

  // Запись данных массива в файл
  BlockWrite(myFile, byteArray, 2);   // Запись 2 'записи' из 4 байт

  // Заполнение массива данных с различными данными
  for i := 1 to 4 do
    byteArray[i] := i*i;              // Значение : 1, 4, 9, 16

  // Запись только первых 4 элементов из массива данных в файл
  BlockWrite(myFile, byteArray, 1);   // Запись 1 записи из 4 байт

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

  // Повторное открытие файла для чтения
  FileMode := fmOpenRead;
  Reset(myFile, 1);   // Теперь мы определяем одну запись как 1 байт

  // Показ содержимого файла
  // Чтение первых 6 байт.'count' установлен в
  // текущий считанный номер
  ShowMessage('Чтение первого набора байтов :');
  BlockRead(myFile, byteArray, 6, count);

  // Показ считанных значений байта
  for i := 1 to count do
    ShowMessage(IntToStr(byteArray[i]));

  // Now read one byte at a time to the end of the file
  ShowMessage('Чтение остающихся байтов  :');
  while not Eof(myFile) do
  begin
    BlockRead(myFile, oneByte, 1);   // Чтение одного байта за один раз
    ShowMessage(IntToStr(oneByte));
  end;

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

Main Menu