Для работы с файлами в современных версиях Delphi я рекомендую использовать классы TStringList или TFileStream. TStringList подходит для работы с текстовыми файлами, а TFileStream для работы с двоичными файлами.
Вот пример кода, как выгрузить динамический массив в текстовый файл, используя TStringList:
uses
Classes, SysUtils;
var
IndexData: array of array of Integer;
IndexFile: TStringList;
I, QNum, URes, RAns: Integer;
begin
SetLength(IndexData, 5, 4); // Задаем размер массива
IndexFile := TStringList.Create;
try
for I := 0 to High(IndexData) do
begin
// Записываем данные в массив (для примера, используем случайные значения)
IndexData[I, 0] := I;
IndexData[I, 1] := QNum;
IndexData[I, 2] := URes;
IndexData[I, 3] := RAns;
// Добавляем данные из массива в строку IndexFile
IndexFile.Add(IntToStr(IndexData[I, 0]) + ', ' +
IntToStr(IndexData[I, 1]) + ', ' +
IntToStr(IndexData[I, 2]) + ', ' +
IntToStr(IndexData[I, 3]));
end;
// Сохраняем данные в файл
IndexFile.SaveToFile('DB\Index.tmp');
finally
IndexFile.Free;
end;
end.
Когда вы используете класс TStringList, вам не нужно заботиться о закрытии файла. TStringList.SaveToFile автоматически закрывает файл после записи. Метод TStringList.Free очищает память, выделенную для объекта.