Показать сообщение отдельно
  #18  
Старый 17.02.2015, 05:05
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Поскольку тип файла определяешь ты сам, то, соответсвенно, в файле будет храниться то, что ты напишешь там хранить. Простейший вариант - файл с записями (record). В этом случае ты в программе создаешь запись для хранения данных об одном объекте (тестируемом), а для хранения данных о всех тестируемых создаешь массив. Одно замечание. Размер записи в таком случае должен быть фиксированный, т.е. например динамические массивы и AnsiString использовать нельзя.
Пример:
Код:
type
  MyRecord = record
    Name : String[80]; // Pascal-строка, такие можно
    Result : Integer;
    Answer1 : Boolean;
    Answer2 : Boolean;
    ...
  end;

var
  A :Array Of MyRecord; // массив для хранения данных
  F : File Of Myrecord; // файл для сохранения результатов

...

// Запись в файл
var
  I : Integer;
begin
  AssignFile(F,'myfile.dat');
  Rewrite(F);
  For I := Low(A) To High(A) Do Write(F,A[i]);
  CloseFile(F);
end;

С другой стороны можно использовать файловые потоки (TFileStream) для записи/чтения. Тут возможностей больше, но ты сам должен побеспокоиться об обепечении правильной записи/чтения данных. Например, сохраняя строку, сначала надо записать ее длинну, потом сами данные. Ну и при считывании в обратном порядке - сначала вычитывем сколько данных у нас хранится в файле, а потом читаем сами данные.
Ответить с цитированием