Вопрос Людям знающим Delphi, нужна помощь в коде

Регистрация
16 Сен 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Сильно не пинайте, только учусь. Нужно написать программку, в стиле "объектно-ориентированного" программирования. Вот код:

program TrainsMaxSpeed;
uses
SysUtils, Dialogs;
type Train = class //Класс поездов
MaxSpeed1, MaxSpeed2:Integer; //Максимальная скорость 1 и 2 поезда
function Sorting (S:Integer):Integer;//Функция определения кто быстрее
constructor Create (MS1, MS2:Integer);// Конструктор
end;
constructor Train.Create(MS1, MS2: Integer); // Описываем конструктор
begin
MS1:=MaxSpeed1; //Макс. скорость 1 поезда
MS2:=MaxSpeed2; //Макс. скорость 2 поезда
end;
function Train.Sorting(S:Integer):Integer; //Описываем функцию сортировки (кто быстрее)
begin
if MaxSpeed1>MaxSpeed2 then Result:=1 //Определяем кто быстрее
else Result:=2;
end;

var
PrintTrain:Train; //Объявляем переменную с типом "Train"
begin
PrintTrain:=Train.Create(10,12); //Задаем данные для обсчета

ShowMessage (IntToStr (PrintTrain.Sorting())); //здесь происходит ошибка "Not enough actual parameters"
end.

Она должна сказать какой поезд быстрее, но в конце при выводе результата происходит ошибка, сижу уже часа 2, не знаю что сделать, и вывести пытался в отдельную процедуру и просто так оставить, не помогает. Помогите решить и объясните что я написал не так. Не смогу успокоиться пока она не заработает))))
 
у тебя заявлена функция function Train.Sorting(S:Integer):Integer; с параметром S типа цельночисленный (кстати, нахорена там это надо? тебе там как раз бы спид 1 и спид2 указывать бы, не?) а вызываешь ты ее без этого параметра: ShowMessage (IntToStr (PrintTrain.Sorting())) вот тебе и пишет что параметров недостаточно
 
вообще-то с параметром он ее вызывает, если бы не накосячил в самой функции с объявлением переменной. До кучи еще про область видимости переменных не дошел еще...
 
Назад
Сверху