Использование Lazarus IDE.
Мне нужно добавить строки в текстовый файл. Есть три файла, которые я «открываю» первый файл, нужно добавить к нему, а затем закрыть его, прежде чем открыть второй файл и то же самое к третьему. Строки построены из SQL выбора, который выбирает 24 записи из таблицы в rdbms Firebird одновременно. В таблице 350K записей. Я не думаю, что хочу оставить текстовые файлы открытыми, пока я иду по таблице, используя параметризованный запрос.
Демонстрационная версия
Program pascalFileHandling;
{ Program to demonstrate the Append function. }
Var f : textfile;
begin
AssignFile (f,'C:\Users\JF\Documents\pascalFileHandling\3_test.txt');
Rewrite (f); { file is opened for write, and emptied }
Writeln (F,'3rd run, This is the first line of 3_text.txt');
closeFile (f);
Append(f); { file is opened for write, but NOT emptied.
any text written to it is appended.}
Writeln (f,'This is the second line of 3_text.txt');
closeFile (f);
writeln('Press any key to close');
readln;
end.
компилируется и запускается, как и ожидалось. в моем коде
try
AssignFile(csvFile, csvFileNameArray[iIndex]);
append(csvFile);
writeln(csvFile, sCSVString);
closeFile(csvFile);
except
on E: EInOutError do
MessageDlg( E.Message,mtError,[mbOK],0 );
end;
компилятор ожидает «append ()», а не переменную текстового файла (дескриптор). Если я дам ему строку, т.е. csvFileNameArray [iIndex] У меня нет «дескриптора» для closeFile! Озадаченный. Есть ли у тела какие-нибудь мысли?