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

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

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2011, 22:06   #1
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию перегрузка свойств

Здравствуйте =)

столкнулся с такой проблемой: как сделать перегружаемые свойства?

допустим есть таблица и есть для нее 2 одинаковых свойства, например Enabled.
одно свойство чтоб делать доступным/недоступным ячейку таблицы,
а второе, чтоб делать доступным/недоступным полностью столбик таблицы.

интерфейс представляю себе так:
Table.Enabled[x,y]:=false; // для ячейки;
Table.Enabled[x]:=false; // для столбца;
+Table.Enabled:=false; // для самого компонента конечно же;

но при попытке
property Enabled[x,y:integer]:bool read GetEnabled write SetEnabled; overload;
компилятор кроет матом, мол типа так сделать нельзя =(((

неужели вообще нельзя сделать такой интерфейс как я написал?
или для свойств какое-то другое хитрое слово есть?
xrob вне форума Ответить с цитированием
Старый 24.09.2011, 22:51   #2
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

а че сразу перегружать?

можно отдельное свойство написать.
Lesha вне форума Ответить с цитированием
Старый 25.09.2011, 01:32   #3
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

неее, я привел пример интерфейса, как хотелось бы.
я хочу сделать интерфейс с которым было бы удобно работать.
чтоб не нужно было запоминать десять всяких свойств,
а использовать только одно, в зависимости от аргументов.
поэтому перегрузка. если, конечно, это вообще возможно...

ну а нет, дак придется по старинке, что ж делать...
xrob вне форума Ответить с цитированием
Старый 25.09.2011, 09:07   #4
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

а че запоминать то? Delphi сам те подсказывает, достаточно первые несколько символов написать.

+ если какойто новое свойство ввел, то его надо задукоментировать для себя.

Цитата:
дак придется по старинке
а по старинке это как?
PS вы куда эти свойства прописываете? в исходник компонента?
Lesha вне форума Ответить с цитированием
Старый 26.09.2011, 23:01   #5
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

свойства перегружаются с помощью default; :
Код:
property Cells[ACol,ARow:Integer]: string read GetCells write SetCells; default;
property Cells[ACol:Integer]:string read GetCells write SetCells;    default;
спасибо всем ответившим!
и отдельное огромное спасибо за понимание того, что я хотел.


Lesha, не могли бы вы поподробнее рассказать как документировать свойства?

по-старинке это хреново, криво, косячно, неудобно, через-жопу - как-то так =)
но слава богу, теперь так не придется.

а куда еще можно прописывать свойства?
создаем класс TBeBe = class; и понеслась.
xrob вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
описание свойств webbrowser Анастасия123456789 Работа с сетью в Delphi 10 25.12.2011 14:41
Массивы свойств -=KocT=- Помощь студентам 0 20.06.2011 12:59
Установка свойств текста Alex Cones Win Api 2 09.09.2010 20:47
Наследование свойств vedro-compota HTML и CSS 14 19.04.2010 21:40
Редактор свойств msk11 Компоненты Delphi 0 17.04.2010 15:39