Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка: not enough actual parameters 
:(
    Опции темы
rink
Дата 18.6.2012, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.6.2012

Репутация: нет
Всего: нет



Измучила меня эта ошибка, гляньте свежим взглядом, пожалуйста.
Код

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;
PM MAIL   Вверх
northener
Дата 18.6.2012, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(rink @  18.6.2012,  22:08 Найти цитируемый пост)
ошибка выходит при компиляции вот этой строки
mas[i]:=Ttransport.Transport(Tpass.Pass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer);

Сравни количество открывающих и закрывающих скобок.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
rink
Дата 18.6.2012, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 18.6.2012

Репутация: нет
Всего: нет



Цитата(northener @ 18.6.2012,  22:42)
Цитата(rink @  18.6.2012,  22:08 Найти цитируемый пост)
ошибка выходит при компиляции вот этой строки
mas[i]:=Ttransport.Transport(Tpass.Pass(aMarka:string;aTrip:integer;aCapacity:integer;aTransported:integer);

Сравни количество открывающих и закрывающих скобок.

Это к сожалению не помогло.
PM MAIL   Вверх
XperT
Дата 18.6.2012, 23:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: нет
Всего: 4



Конструктор транспорта принимает 2 параметра, а вы передаете один, к тому же не тот, что требуется.
PM MAIL   Вверх
superVad
Дата 18.6.2012, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 7
Всего: 15



Цитата(rink @  18.6.2012,  21:51 Найти цитируемый пост)
Это к сожалению не помогло.

Что не помогло? Ты не смог сравнить? Или когда исправил то ошибка осталась?
И параметры функции надо передавать без указания типа данных и через запятую.
PM MAIL   Вверх
northener
Дата 19.6.2012, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(superVad @  18.6.2012,  23:14 Найти цитируемый пост)
И параметры функции надо передавать без указания типа данных и через запятую. 

О как! Я будучи в запарке даже и не заметил этого! )))
На автомате заметил что на две открывающие скобки есть только одна закрывающая. А на то что между этими скобками написана полная чушь даже не обратил внимание!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.