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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2007, 15:40   #1
Nikopol
 
Регистрация: 15.06.2007
Сообщений: 3
По умолчанию Помогите с решением функций.

Народ, помогите, пожалуйста с Дельфи, очень надо:

1).Написать функцию подсчета количества компонентов на форме заданного класса.

2).Написать функцию, которая возвращает имя класса, объектов которого меньше всего.

3).Реализовать механизм наследования с переопределением функции (virtual) в форме - наследование.

4).Реализовать 2 функции, переопределения в одном модуле в зависимости от входящих параметров (overload).
Нужен просто текст функций. Заранее благодарен.
Nikopol вне форума Ответить с цитированием
Старый 15.06.2007, 16:48   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

1. где-то такая или подобная задача уже здесь была
2. по аналогии с предыдущей. имя класса кажеца определяется свойством ClassName класса TClass
3. в родителе пишешь например:
Код:
...
public
  procedure Proc; virtual;
end;
в потомке:
Код:
public
  procedure Proc; override;
end;
ну соответственно обработчик уже какой надо думаю сам напишешь
4. Кажеца так (сам этим давно не занимался уже просто) описываешь процедуры:
Код:
procedure Proc(i: integer); overload;
procedure Proc(r: real); overload;
ну а реализация как у "обычных" пишеца
pu4koff вне форума Ответить с цитированием
Старый 15.06.2007, 21:08   #3
Nikopol
 
Регистрация: 15.06.2007
Сообщений: 3
По умолчанию

2 Pu4koff:
Пожалуйста, очень прошу, не мог бы поподробнее с 3 и 4???
И как найти 1?
Nikopol вне форума Ответить с цитированием
Старый 15.06.2007, 21:23   #4
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Nikopol Посмотреть сообщение
1).Написать функцию подсчета количества компонентов на форме заданного класса.
А что значит "заданного класса"? Как он будет задан - в виде строки, или в виде ссылки на класс?
Само количество компонентов на форме определяется свойством формы ComponentCount (например, X := Form1.ComponentCount)

Цитата:
Сообщение от Nikopol Посмотреть сообщение
2).Написать функцию, которая возвращает имя класса, объектов которого меньше всего.
Если под "объектами" здесь подразумеваются не только компоненты, а вообще любые потомки TObject, то нужно хранить полный список всех объектов. Только тогда можно будет посчитать их количество для каждого класса (и выбрать миниамальное). В программе есть такой список?

Последний раз редактировалось Jeni; 15.06.2007 в 21:32.
Jeni вне форума Ответить с цитированием
Старый 15.06.2007, 21:28   #5
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Nikopol Посмотреть сообщение
3).Реализовать механизм наследования с переопределением функции (virtual) в форме - наследование.
Код:
TOne = class
  function Fun(X: Integer): Boolean; virtual;
end;

TTwo = class(TOne)
  function Fun(X: Integer): Boolean; override;
end;

function TOne.Fun(X: Integer): Boolean;
begin
  Result := X > 0;
end;

function TTwo.Fun(X: Integer): Boolean;
begin
  Result := X < 0;
end;
Jeni вне форума Ответить с цитированием
Старый 15.06.2007, 21:31   #6
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Nikopol Посмотреть сообщение
4).Реализовать 2 функции, переопределения в одном модуле в зависимости от входящих параметров (overload).
Код:
function Func1(X: Integer): string; overload;
begin
  Result := IntToStr(X);
end;

function Func2(X: Double): string; overload;
begin
  Result := FloatToStr(X);
end;
Jeni вне форума Ответить с цитированием
Старый 15.06.2007, 23:57   #7
Nikopol
 
Регистрация: 15.06.2007
Сообщений: 3
По умолчанию

2 Jeni:
В первом класс задан как строка.
Во втором, подразумеваются вообще любые потомки, и в проге такой список скорее всего есть.
Nikopol вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с решением Amen Помощь студентам 13 31.01.2008 22:03
Помогите с решением задачи Ga-sergey Помощь студентам 4 11.03.2007 11:13