Не могу исправить ошибку: 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]);
Объяснение кода листинга программы
- Открывается файл
f
для записи. - В каждой итерации цикла записывается значение переменной
Tovars[k]
. - Ошибка
Can't use read or write on untyped file
указывает на то, что файлf
не был корректно подготовлен для записи или чтения. - Возможно, файл
f
не был создан или не был открыт в режиме записи. - Также возможно, что файл
f
был открыт в режиме чтения, а не записи. - Решение проблемы может быть в проверке состояния файла перед записью или открытием его в режиме записи.
- Также может потребоваться добавить обработку ошибок в код для более точного определения причины возникновения ошибки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д