Не могу исправить ошибку: Can't use read or write on untyped file - Free Pascal

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

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

Листинг программы
  1. Type
  2. TTovar = record
  3. Nazvan:string[20];
  4. Date:string[10];
  5. Proivod:string[20];
  6. end;
  7. TPostavka = record
  8. NumNakladn:word;
  9. FirmaPost:string[20];
  10. Volume:word;
  11. SumPost:LongInt;
  12. NumRec:byte;
  13. Tovar:TTovar;
  14. end;
  15. var i,n,Count:integer;
  16. f:file of TPostavka;
  17. Tovars :array[1..500] of TPostavka;
  18. begin
  19. Textbackground(7);
  20. clrscr;
  21. textcolor(9);
  22. writeln ('Для завершения ввода введите Ctrl-z');
  23. while not eof do
  24. begin
  25. Inc(Count);
  26. write('Введите номер накладной = ');
  27. readln(Tovars[Count].NumNakladn);
  28. write('Введите номер накладной = ');
  29. readln(Tovars[Count].FirmaPost);
  30. write('Введите номер накладной = ');
  31. readln(Tovars[Count].Volume);
  32. write('Введите номер накладной = ');
  33. readln(Tovars[Count].SumPost);
  34. write('Введите число записей в накладной №= ',Tovars[Count].NumNakladn, ' n = ');
  35. readln(Tovars[Count].NumRec);
  36. for i:=1 to Tovars[Count].NumRec do
  37. begin
  38. write('Введите название товара = ');
  39. readln(Tovars[Count].Tovar.Nazvan);
  40. write('Введите название товара = ');
  41. readln(Tovars[Count].Tovar.Date);
  42. write('Введите название товара = ');
  43. readln(Tovars[Count].Tovar.Proivod);
  44. end;
  45. end;
  46. Assign(f,'C:\BD\printing.log');
  47. Rewrite(f);
  48. writeln(f,'Отчет по товарам':40);
  49. write(f,'Номер':6);
  50. write(f,'Фирма':20);
  51. write(f,'Кол-во':8);
  52. writeln(f,'Сумма':8);
  53. for i:=1 to Count do
  54. begin
  55. with Tovars[i] do
  56. begin
  57. write(f, NumNukladn:6);
  58. write(f, FirmaPost:20);
  59. write(f, Volume:8);
  60. writeln(f, SumPost:8);
  61. write(f, 'Товар':50);
  62. write(f, 'Дата':60);
  63. writeln(f, 'Производитель':75);
  64. for j:=1 to NumRec do
  65. with Tovar do
  66. begin
  67. write(f, Nazvan:50);
  68. write(f, Date:60);
  69. writeln(f, Proizvod:75);
  70. end;
  71. end;
  72. end;
  73. close(f);
  74. readln();
  75. end.
Забыл написать вот эта Error: Can't use read or write on untyped file.

Решение задачи: «Не могу исправить ошибку: Can't use read or write on untyped file»

textual
Листинг программы
  1. write(f, Tovars[k]);

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

  1. Открывается файл f для записи.
  2. В каждой итерации цикла записывается значение переменной Tovars[k].
  3. Ошибка Can't use read or write on untyped file указывает на то, что файл f не был корректно подготовлен для записи или чтения.
  4. Возможно, файл f не был создан или не был открыт в режиме записи.
  5. Также возможно, что файл f был открыт в режиме чтения, а не записи.
  6. Решение проблемы может быть в проверке состояния файла перед записью или открытием его в режиме записи.
  7. Также может потребоваться добавить обработку ошибок в код для более точного определения причины возникновения ошибки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

10   голосов , оценка 3.7 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут