Поскольку тип файла определяешь ты сам, то, соответсвенно, в файле будет храниться то, что ты напишешь там хранить. Простейший вариант - файл с записями (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) для записи/чтения. Тут возможностей больше, но ты сам должен побеспокоиться об обепечении правильной записи/чтения данных. Например, сохраняя строку, сначала надо записать ее длинну, потом сами данные. Ну и при считывании в обратном порядке - сначала вычитывем сколько данных у нас хранится в файле, а потом читаем сами данные.