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 или еще нет? Если прикрутили, то с какой версии работает?


Vlad Oshin   (2008-07-23 16:27:00) [1]

CL=class
  const
   CI:char='5';
  var
   FI:string[2];
 end;

var
 Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var
CL1:CL;
begin
 cl1:=cl.Create;
 showmessage(CL1.fi+'--'+CL1.CI);
 CL1.CI:='3';
 showmessage(CL1.fi+'--'+CL1.CI);
end;


Тын-Дын   (2008-07-23 16:08:00) [2]


> Dennis I. Komarov ©   (23.07.08 14:28) [33]
> > [32] Тын-Дын ©   (23.07.08 14:21)
>
> Мои и что?


И то. Топик читай внимательнее.


Dennis I. Komarov   (2008-07-23 14:28:00) [3]

> [32] Тын-Дын ©   (23.07.08 14:21)

Мои и что?

Subj: "Классы: как присвоить свойствам значения по-умолчанию?"


Тын-Дын   (2008-07-23 14:21:00) [4]


> Dennis I. Komarov ©   (23.07.08 14:16) [31]
> > [22] Тын-Дын ©   (23.07.08 13:06)
>
> А разве я где-то утверждал обратное?


Твои слова:


> Dennis I. Komarov ©   (23.07.08 12:18) [1]
> в VCL есть много таких, надо бы глянуть, аль лень?


Или нет?


Dennis I. Komarov   (2008-07-23 14:16:00) [5]

> [22] Тын-Дын ©   (23.07.08 13:06)

А разве я где-то утверждал обратное? Или [0] оно это мне надо было. На какого, мне его искать, если я и так знаю, что гдемто оно там.


Anatoly Podgoretsky   (2008-07-23 13:47:00) [6]

> textExpanser  (23.07.2008 13:19:26)  [26]

Изменилось, но и раньше поведение зависило от других модификаторов.
А сейчас кроме того что было, он еще и другие вещи делает, например подсветка в ИО


Тын-Дын   (2008-07-23 13:25:00) [7]


> textExpanser   (23.07.08 13:19) [26]
>Так можно как-то инициализировать
> свойство или поле класса прямо в описании класса?


Нет.


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

Так можно как-то инициализировать свойство или поле класса прямо в описании класса?

уже сказали.


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

остается


textExpanser   (2008-07-23 13:19:00) [10]

Раньше default использовалось для того, чтобы не сохранять в dfm значения свойств, которые равны "default". Что-то изменилось?

Запутался я в ваших комментариях. Так можно как-то инициализировать свойство или поле класса прямо в описании класса?


Тын-Дын   (2008-07-23 13:18:00) [11]


> Медвежонок Пятачок ©   (23.07.08 13:12) [24]
> не только для БДС, зато только для ординал тайп


В D6 нет такого для любых типов. В D5 тоже. Остается D7?


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

не только для БДС, зато только для ординал тайп


Тын-Дын   (2008-07-23 13:09:00) [13]


> jack128_   (23.07.08 12:55) [18]
> Инспектор продсвечивает жирным свойства, значения которых
> не равны, чем что по умолчаниюю идут.
>
> {RASkov} ©   (23.07.08 12:58) [19]
> Для того, что бы не выделять жирным изменившееся свойство.
>
> Для компонентов в таком случае ИО будет считать, что свойство
> по умолчанию и не выделит его жирным...


Только для BDS.


Тын-Дын   (2008-07-23 13:06:00) [14]


> Dennis I. Komarov ©   (23.07.08 12:26) [8]
> > [4] Тын-Дын ©   (23.07.08 12:19)
>
>
> TMemo =
> ...
> property BevelKind default bkNone;
> ...
> В каком конструкторе присваевается - не нашел (лень)


А зря лень. тогда бы увидел, что присваиваются значения в конструкторе, а не в поле класса.


Anatoly Podgoretsky   (2008-07-23 13:02:00) [15]


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

F1


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

Ну я бы все равно не сказал, что дефолт нуженинспектору.


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

> [14] Медвежонок Пятачок ©   (23.07.08 12:52)

Для того, что бы не выделять жирным изменившееся свойство.... Т.е. если будет
property Width: Integer .... default 100;

В конструкторе:
 Width:=100;

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


jack128_   (2008-07-23 12:55:00) [18]


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

не только.


> А инспектору-то он зачем сдался?
Инспектор продсвечивает жирным свойства, значения которых не равны, чем что по умолчаниюю идут.


Dennis I. Komarov   (2008-07-23 12:54:00) [19]

> [13] {RASkov} ©   (23.07.08 12:46)

Я в курсе, просто не стал рыть в конструктре какого предка он присваивается. Пусть будет задание для автора...


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

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

Чего только не услышишь в жару


Страницы:   1 2

Наверх

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