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

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

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

Type
TTovar = record
Nazvan:string[20];
Date:string[10];
Proivod:string[20];
end;
TPostavka = record
NumNakladn:word;
FirmaPost:string[20];
Volume:word;
SumPost:LongInt;
NumRec:byte;
Tovar:TTovar;
end;
var i,n,Count:integer;
f:file of TPostavka;
Tovars  :array[1..500] of TPostavka;
begin
Textbackground(7);
clrscr;
textcolor(9);
writeln ('Для завершения ввода введите Ctrl-z');
while not eof do
begin
Inc(Count);
write('Введите номер накладной = ');
readln(Tovars[Count].NumNakladn);
write('Введите номер накладной = ');
readln(Tovars[Count].FirmaPost);
write('Введите номер накладной = ');
readln(Tovars[Count].Volume);
write('Введите номер накладной = ');
readln(Tovars[Count].SumPost);
write('Введите число записей в накладной №= ',Tovars[Count].NumNakladn, ' n = ');
readln(Tovars[Count].NumRec);
for i:=1 to Tovars[Count].NumRec do
begin
write('Введите название товара = ');
readln(Tovars[Count].Tovar.Nazvan);
write('Введите название товара = ');
readln(Tovars[Count].Tovar.Date);
write('Введите название товара = ');
readln(Tovars[Count].Tovar.Proivod);
end;
end;
Assign(f,'C:\BD\printing.log');
Rewrite(f);
writeln(f,'Отчет по товарам':40);
write(f,'Номер':6);
write(f,'Фирма':20);
write(f,'Кол-во':8);
writeln(f,'Сумма':8);
for i:=1 to Count do
begin
with Tovars[i] do
begin
write(f, NumNukladn:6);
write(f, FirmaPost:20);
write(f, Volume:8);
writeln(f, SumPost:8);
 
write(f, 'Товар':50);
write(f, 'Дата':60);
writeln(f, 'Производитель':75);
for j:=1 to NumRec do
with Tovar do
begin
write(f, Nazvan:50);
write(f, Date:60);
writeln(f, Proizvod:75);
end;
end;
end;
close(f);
readln();
end.
Забыл написать вот эта Error: Can't use read or write on untyped file.

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

textual
Листинг программы
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