Процесс не может получить доступ к файлу, так как этот файл используется другим процессом - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Все работает, кроме записи результатов в файл. В разделе описания с файла все норм считывается, а вот когда запускаю игру выводится такое сообщение: Unhandled Exception: System.IO.IOException: Процесс не может получить доступ к файлу "C:\Kursach\out.txt", так как этот файл используется другим процессом. в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) в System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost) в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost) в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding) в PABCSystem.PABCSystem.Rewrite(Text f, Encoding en) в C:\Program Files (x86)\PascalABC.NET\LibSource\PABCSystem.pas:строка 5679 в PABCSystem.PABCSystem.Rewrite(Text f) в C:\Program Files (x86)\PascalABC.NET\LibSource\PABCSystem.pas:строка 5670 в _kursach._kursach.Files() в C:\Kursach\KursachABC.pas:строка 53 в _kursach._kursach.$Main() в C:\Kursach\KursachABC.pas:строка 86 в KursachABC.Program.Main()Программа завершена, нажмите любую клавишу . . . Код:
Может у кого-нибудь еще будут идеи, как улучшить код?

Решение задачи: «Процесс не может получить доступ к файлу, так как этот файл используется другим процессом»

textual
Листинг программы
procedure Files; 
var S: string;
begin
 clrscr;
 assign (out, 'C:\Kursach\out.txt'); 
 reset (out); 
 rewrite (out);
 writeln (out, 'Статистика: '); 
 Igra;
 close (out); 
 reset (out); 
end;

Объяснение кода листинга программы

  1. Объявлена процедура Files.
  2. В процедуре объявлена переменная S типа string.
  3. Выполняется команда clrscr, которая очищает экран.
  4. Выполняется команда assign(out, 'C:\Kursach\out.txt'), которая открывает файл out.txt для записи.
  5. Выполняется команда reset(out), которая сбрасывает файловый указатель в начало файла.
  6. Выполняется команда rewrite(out), которая перезаписывает файл.
  7. Выполняется команда writeln(out, 'Статистика: '), которая записывает в файл строку Статистика:.
  8. Выполняется процедура Igra.
  9. Выполняется команда close(out), которая закрывает файл.
  10. Выполняется команда reset(out), которая сбрасывает файловый указатель в начало файла.
  11. Процедура Files завершается.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы