function AppendOrWriteTextToFile(FileName : TFilename; WriteText : string): boolean;
var
f : Textfile;
begin
Result := False;
AssignFile(f, FileName);
tryif FileExists(FileName) = False then
Rewrite(f)
elsebegin
Append(f);
end;
Writeln(f, WriteText);
Result := True;
finally
CloseFile(f);
end;
end;
// Sample Source... procedure TForm1.Close1Click(Sender : TObject);
var
dir, log : string;
begin
dir := ExtractFilePath(Application.Exename);
log := 'Last Programm Termination: ' + DateTimeToStr(now);
AppendOrWriteTextToFile(dir + '\logfile.txt', log)
end;
Перевод контента на русский язык:
Это фрагмент кода Delphi, демонстрирующий, как использовать функцию AppendOrWriteTextToFile для добавления или записи текста в файл.
Вот шаг за шагом, что код делает:
Функция AppendOrWriteTextToFile принимает два параметра: FileName (тип TFilename) и WriteText (строка).
Функция присваивает указанный файл объекту Textfile, называемому f.
Если файл не существует, функция перезаписывает файл с помощью процедуры Rewrite.
Если файл уже существует, функция добавляет к нему текст с помощью процедуры Append.
Функция записывает указанный текст в файл с помощью процедуры Writeln.
Наконец, функция возвращает логическое значение, указывающее, была ли операция успешной.
Пример исходного кода включает в себя процедуру Close1Click, которая вызывается при клике кнопки (называемой "Close") на форме (TForm1). Когда это происходит:
Процедура извлекает путь к директории из исполняемого файла приложения с помощью функции ExtractFilePath.
Она конструирует сообщение журнала, сконкатенировав статический текст с текущей датой и временем с помощью функции DateTimeToStr.
Наконец, она вызывает функцию AppendOrWriteTextToFile для записи этого сообщения журнала в файл logfile.txt в извлеченном пути к директории.
Код хорошо структурирован и легко понятен, но есть несколько предложений по улучшению:
Вместо возвращения логического значения из функции AppendOrWriteTextToFile, 考虑 использовать исключения для обработки потенциальных ошибок. Это позволит вам предоставить более информативные сообщения об ошибках и сделать код более устойчивым.
В процедуре Close1Click можно добавить обработку ошибок, чтобы обеспечить успешность операции с файлом перед продолжением. Например, вы можете проверить, была ли запись файла успешной, и отобразить сообщение об ошибке, если не.
Вот обновленная версия функции AppendOrWriteTextToFile с использованием исключений:
functionAppendOrWriteTextToFile(FileName:TFilename;WriteText:string):Boolean;varf:Textfile;beginResult:=False;AssignFile(f,FileName);tryifFileExists(FileName)=FalsethenRewrite(f)elseAppend(f);Writeln(f,WriteText);Result:=True;exceptonE:ExceptiondoShowMessage('Ошибка записи в файл: '+E.Message);end;finallyCloseFile(f);end;end;
Обновленная функция использует блок try-except, чтобы поймать любые исключения, возникшие во время операции с файлом. Если исключение было поднято, она отображает сообщение об ошибке с помощью процедуры ShowMessage. В противном случае она возвращает True, если операция была успешной, и False - если нет.
В статье описана функция Delphi, которая позволяет записать или добавить текст в файл, а также приведен пример использования этой функции для журналирования событий программы.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.