Измучила меня эта ошибка, гляньте свежим взглядом, пожалуйста. | Код | unit Unit2;
interface uses Dialogs, SysUtils;
type TTransport=class //ðîäèòåëüñêèé êëàññ ÒÑ protected Marka: string; //îáùåå ñâîéñòâî ìàðêà Trip: integer; //îáùåå ñâîéñòâî êîëè÷åñòâî âûïîëíåííûõ ðåéñîâ public constructor Transport(aMarka: string; aTrip: integer); function GetMarka: string; procedure SetMarka(aMarka:string); function GetTrip: integer; procedure SetTrip(aTrip:integer); function kpd: extended; virtual;abstract; //ìåòîä âû÷èñëåíèÿ êïä function GetParameters:AnsiString;virtual;abstract;//ìåòîä ïîëó÷åíèÿ çíà÷åíèé ñâîéñòâ end;
type TPass=class(TTransport)//äî÷åðíèé êëàññ ïàññàæèðñêèõ ÒÑ private Capacity, Transported: integer; //âìåñòèìîñòü, ÷èñëî ïåðåâåçåííûõ ïàññàæèðîâ; public constructor Pass(aMarka:string; aTrip, aCapacity, aTransported: integer); function GetCapacity: integer; procedure SetCapacity(aCapacity:integer); function GetTransported: integer; procedure SetTransported(aTransported:integer); function kpd: extended; override; //ïåðåîïðåäåëÿåì ìåòîä ðàñ÷åòà ÊÏÄ function GetParameters:AnsiString;override;//ïåðåîïðåäåëÿåì ìåòîä ïîëó÷åíèÿ çíà÷åíèé ñâîéñòâ end;
type TCargo=class(TTransport) //äî÷åðíèé êëàññ ãðóçîâûõ ÒÑ private Tonnage, Weight: integer; //Ãðóçîïîäúåìíîñòü, âåñ ïåðåâåçåííîãî ãðóçà public constructor Cargo(aMarka:string; aTrip, aTonnage, aWeight: integer); function GetTonnage:integer; procedure SetTonnage(aTonnage:integer); function GetWeight:integer; procedure SetWeight(aWeight:integer); function kpd:extended; override; //ïåðåîïðåäåëÿåì ìåòîä ðàñ÷åòà ÊÏÄ function GetParameters:AnsiString;override;//ïåðåîïðåäåëÿåì ìåòîä ïîëó÷åíèÿ çíà÷åíèé ñâîéñòâ end;
type TContainer=class private count:integer;//êîëè÷åñòâî ýëåìåíòîâ â ñïèñêå public mas: array [1..100] of TTransport; constructor Container(); function GetCount:integer; procedure SetCount(acount:integer); function AddPrevPass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer; Nadd:AnsiString):boolean;//ìåòîä äîáàâëåíèÿ ïàññàæèðñêîãî ÒÑ ïåðåä çàäàííîãî ôàéëà function AddNextPass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer; Nadd:AnsiString):boolean;//ìåòîä äîáàâëåíèÿ ïàññàæèðñêîãî ÒÑ ïîñëå çàäàííîãî ôàéëà function AddPrevCargo(aMarka:string;aTrip:integer;aTonnage:integer;aWeight:integer; Nadd:AnsiString):boolean;//ìåòîä äîáàâëåíèÿ ãðóçîâîãî ÒÑ ïåðåä çàäàííîãî ôàéëà function AddNextCargo(aMarka:string;aTrip:integer;aTonnage:integer;aWeight:integer; Nadd:AnsiString):boolean;//ìåòîä äîáàâëåíèÿ ãðóçîâîãî ÒÑ ïîñëå çàäàííîãî ôàéëà function FindRemoved(aMarka:string):boolean;//ïîèñê óäàëÿåìîãî ôàéëà ïî èìåíè function Delete(RemovedElement:TTransport):boolean;//ïîèñê ïðåäûäóùåãî ôàéëà è óäàëåíèå çàäàííîãî ôàéëà function FindElement(aMarka:string):TTransport;//âîçâðàùàåò àäðåñ íàéäåííîãî ýëåìåíòà ïî èìåíè function Show(GetCount:integer):AnsiString; function kpd:integer;//ìåòîä ðàñ÷åòà ÊÏÄ procedure Save(Filename:AnsiString);//ñîõðàíåíèå âî âíåøíåì ôàéëå procedure Load(Filename:AnsiString);//çàçðóçêà èç ôàéëà end;
implementation //TTransport constructor TTransport.Transport(aMarka:string;aTrip:integer); begin Marka:=aMarka; Trip:=aTrip; end; function TTransport.GetMarka:string; begin result:=Marka; end; procedure TTransport.SetMarka(aMarka:string); begin Marka:=aMarka; end; function TTransport.GetTrip:integer; begin result:=Trip; end; procedure TTransport.SetTrip(aTrip:integer); begin Trip:=aTrip; end;
//TPass
constructor TPass.Pass(aMarka:string; aTrip,aCapacity,aTransported:integer); begin inherited Transport(aMarka,aTrip); Capacity:=aCapacity; Transported:=aTransported; end; function TPass.GetCapacity:integer; begin result:=Capacity; end; procedure TPass.SetCapacity(aCapacity:integer); begin Capacity:=aCapacity; end; function TPass.GetTransported:integer; begin result:=Transported; end; procedure TPass.SetTransported(aTransported:integer); begin Transported:=aTransported; end; function TPass.kpd:extended; begin result:=Transported/(Trip*Capacity); end;
function TPass.GetParameters:AnsiString;//ìåòîä ïîëó÷åíèÿ çíà÷åíèé ñâîéñòâ ïàññàæèðñêîãî ÒÑ var str:AnsiString; begin str:=str+'Pass'+#10#13; str:=str+GetMarka+#10#13; str:=str+IntToStr(GetCapacity)+#10#13; str:=str+IntToStr(GetTransported)+#10#13; result:=str; end;
//TCargo constructor TCargo.Cargo(aMarka: string; aTrip,aTonnage,aWeight:integer); begin inherited Transport(aMarka,aTrip); Tonnage:=aTonnage; Weight:=aWeight; end; function TCargo.GetTonnage:integer; begin result:=Tonnage; end; procedure TCargo.SetTonnage(aTonnage:integer); begin Tonnage:=aTonnage; end; function TCargo.GetWeight:integer; begin result:=Weight; end; procedure TCargo.SetWeight(aWeight:integer); begin Weight:=aWeight; end; function TCargo.kpd:extended; begin result:=Weight/(Tonnage*Trip); end;
function TCargo.GetParameters:AnsiString;//ìåòîä ïîëó÷åíèÿ çíà÷åíèé ñâîéñòâ ãðóçîâîãî ÒÑ var str:AnsiString; begin str:=str+'Cargo'+#10#13; str:=str+GetMarka+#10#13; str:=str+IntToStr(Tonnage)+#10#13; str:=str+IntToStr(Weight)+#10#13; result:=str; end;
//TContainer constructor TContainer.Container; begin count:=0; end;
function TContainer.GetCount: integer; begin result:=count; end;
procedure TContainer.SetCount(aCount:integer); begin count:=aCount; end;
function TContainer.AddPrevPass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer;Nadd:AnsiString):boolean; var i:integer; begin if count=0 then begin i:=1; mas[i]:=Ttransport.Transport(Tpass.Pass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer); end; end;
|
смысла в функции не ищите, она не дописана ошибка выходит при компиляции вот этой строки mas[i]:=Ttransport.Transport(Tpass.Pass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer); заранее благодарю end;
|