![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Классы: как присвоить свойствам значения по-умолчанию? [D2, D3, D4, D5, D6, D7, D2005, 95/98, ME, NT4, 2000, XP, 2003]
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]При динамическом создании компонента - присваивает.
Чего только не услышишь в жару