Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Классы: как присвоить свойствам значения по-умолчанию? [D2, D3, D4, D5, D6, D7, D2005, 95/98, ME, NT4, 2000, XP, 2003]


Страницы:   1 2

textExpanser ©   (2008-07-23 12:07:00) 

Нужно для сокращения кодинга и повышения удобочитаемости присваивать свойствам класса значения по-умолчанию прямо в описании этого класса.
Типа как константы-переменные (инициализируемые переменные).
А в классе это могло бы выглядеть так:
type
 MyClass = class
   Width :Integer = 1000;
   Height :Integer = 700;
 end;

Такое уже прикрутили в Delphi или еще нет? Если прикрутили, то с какой версии работает?


palva   (2008-07-23 12:53:00) [21]

> default никуда ничего не присваивает...
> В данном случае нужно только для ИО(инспектора объектов)

При динамическом создании компонента - присваивает.


Медвежонок Пятачок   (2008-07-23 12:52:00) [22]

А инспектору-то он зачем сдался?


{RASkov}   (2008-07-23 12:46:00) [23]

> [8] Dennis I. Komarov ©   (23.07.08 12:26)
> property BevelKind default bkNone;

default никуда ничего не присваивает... В данном случае нужно только для ИО(инспектора объектов)


Медвежонок Пятачок   (2008-07-23 12:38:00) [24]

Для полей тоже самое что и для свойств.
[6]


textExpanser   (2008-07-23 12:37:00) [25]

Ок. Нужно именно для полей.


Anatoly Podgoretsky   (2008-07-23 12:31:00) [26]

Наверно с букваря и надо начинать, что бы мог отличать свойства от полей.


Медвежонок Пятачок   (2008-07-23 12:27:00) [27]

А в записях (record)?

а в букварь?


Dennis I. Komarov   (2008-07-23 12:26:00) [28]

> [4] Тын-Дын ©   (23.07.08 12:19)


TMemo =
...
property BevelKind default bkNone;
...
В каком конструкторе присваевается - не нашел (лень)


textExpanser   (2008-07-23 12:26:00) [29]

А в записях (record)?


Медвежонок Пятачок   (2008-07-23 12:23:00) [30]

присваивать свойствам класса значения по-умолчанию прямо в описании этого класса.

Такое невозможно без откровенных и кривых костылей. Объекты в D динамические и не создаются компилятором.


Anatoly Podgoretsky   (2008-07-23 12:19:00) [31]

> textExpanser  (23.07.2008 12:07:00)  [0]

Свойства


Тын-Дын   (2008-07-23 12:19:00) [32]


> Dennis I. Komarov ©   (23.07.08 12:18) [1]
> в VCL есть много таких


Например?


{RASkov}   (2008-07-23 12:19:00) [33]

> [0] textExpanser   (23.07.08 12:07)

До D7 - нет.
А присваивать значения по умолчанию нужно в конструкторе..... а если класс еще и компонент, то для "умалчиваемых" свойств есть деректива(или как ее там, комманда) default ххх.... Она(default) нужна только для ИО... еще можно указать целиком свойство default(оффтоп), т.е. свойство по умолчанию, пример: Lst: TStringList; Txt: String; Txt:=Lst.String[5] а можно и так: Txt:=Lst[5] Свойство String по умолчанию, но это уже не по теме.... сорри.


Dennis I. Komarov   (2008-07-23 12:18:00) [34]

в VCL есть много таких, надо бы глянуть, аль лень?


Vlad Oshin   (2008-07-23 12:18:00) [35]

Конструктор этого класса может проще написать?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо