Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2014, 19:57   #1
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию запись в текстовый файл

Здраствуйте!
Было задание: задание создать программу создание текстового файла и информацией о холодильника. вывести таблицу данных файла и ту часть, которая включает в себя ведомости о холодильниках (ну это неважно я записал всё равно). Предвидеть добавление или удаление файла (корректировка). Прогу написал, с созданием текстового файла проблема
Код:
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
  begin
write(' |', 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);
Ошибка времени выполнения: Ссылка на объект не указывает на экземпляр объекта.
mishammm вне форума Ответить с цитированием
Старый 14.01.2014, 20:18   #2
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

данные о 3 холодильниках записывает норм, а на 4 ошибка
mishammm вне форума Ответить с цитированием
Старый 14.01.2014, 20:51   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

А что это там после этой строчки в цикле делает close(f); ?

Дальше тоже что-то не так ))

Последний раз редактировалось eoln; 14.01.2014 в 20:54.
eoln вне форума Ответить с цитированием
Старый 14.01.2014, 21:00   #4
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
А что это там после этой строчки в цикле делает close(f); ?

Дальше тоже что-то не так ))
поставил close(f) после end; теперь вообще не сортирует табличку
mishammm вне форума Ответить с цитированием
Старый 14.01.2014, 22:06   #5
mishammm
Форумчанин
 
Регистрация: 21.09.2013
Сообщений: 232
По умолчанию

ну пожалуйста, укажите на мои ошибки, кто нибудь
mishammm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись в текстовый файл. tinton Помощь студентам 5 06.05.2012 16:48
запись в текстовый файл Александра_69 Общие вопросы Delphi 10 04.11.2011 19:29
Запись в текстовый файл С++ Шиншилка Помощь студентам 2 30.10.2011 15:37
Запись в текстовый файл cr1t Общие вопросы Delphi 5 31.07.2010 19:42
Запись в текстовый файл Xardas Общие вопросы Delphi 9 20.01.2008 13:22