Тема: ООП
Показать сообщение отдельно
  #2  
Старый 24.12.2012, 22:25
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

потому что пробел(пустая строка) между записями,считывается как имя оператора.
добавь такую строчку
if trim(namecompany)='' then readln(t,namecompany);

Код:
procedure Create_Network(file_name:string;var network:TNetwork);
var t:TextFile;
networkname,namecompany:string;
abonent:TAbonent;
begin
  AssignFile(t,file_name);
  Reset(t);
  readln(t,networkname);
  Network:=TNetwork.create(networkname);
  while not eof(t) do
   begin
     readln(t,namecompany);
     if trim(namecompany)='' then  readln(t,namecompany); //вот эта строчка
     abonent:=TAbonent.Create(t);
     network.add(namecompany,abonent);
   end;
  CloseFile(t)
end;
Ответить с цитированием