Тематические вопросы с тегом «объект» · страница 15

Alena Табачникова

помогите найти ошибку в создании текстового файла пожлуйста вот код:const n=4; type xolod = record virobn:string[50]; nazvanie:string[45]; kamera:real; rik:integer; misce:string[45]; cina:real; kilkist:real; end; var i:integer; tabl:array[1..n] of xolod; f:text; s:string; procedure lin(m:integer); var i:integer; begin for i:=1 to m do write('-'); writeln; end; begin assign(f,'xolodilnik.txt'); append(f); Writeln('Vvedi danni'); For i:=1 to n do begin Write('virobn:'); readln(tabl[i].virobn); Write('nazvanie:'); readln(tabl[i].nazvanie); Write('kamera:'); readln(tabl[i].kamera); Write('rik:'); readln(tabl[i].rik); Write('misce:'); readln(tabl[i].misce); Write('cina:'); readln(tabl[i].cina); Write('kilkist:'); readln(tabl[i].kilkist); writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist); close(f); end; reset(f); while not eof(f) do begin while not eoln(f) do begin read(f,s); write(s); end; end; close(f); Lin(69); writeln(' | Виробництво | Назва | Обэм Камери | Рік | Місце | Ціна | Кількість|'); Lin(69); For i:=1 to n do begin write(' |', tabl[i].virobn:10,'|');write(tabl[i].nazvanie:10,'|',tabl[i].kamera:13,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|');writeln;Lin(69);end; writeln; writeln('vidsortovano'); Lin(69); For i:=1 to n do begin If (tabl[i].rik = 1993) then beginwrite(' |', tabl[i].virobn:10,'|');write(tabl[i].nazvanie:15,'|',tabl[i].kamera:16,'|', tabl[i].rik:4,'|', tabl[i].misce:9,'|' , tabl[i].cina:9,'|' , tabl[i].kilkist:9,'|'); writeln; Lin(69); end; end; End. ошибка на writeln(f,tabl[i].virobn,' ',tabl[i].nazvanie,' ', tabl[i].kamera, ' ', tabl[i].rik, ' ' , tabl[i].misce, ' ' , tabl[i].cina , ' ' , tabl[i].kilkist); Ошибка времени выполнения: Ссылка на объект не указывает на экземпляр объекта. когда ввел все данные о 2 холодильниках оно в файл записало, а когда 3 начинаешь - выбивает ошибка