Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Как реализовано свойство items?


Автор: Чучмек 26.1.2012, 00:35
Как одновременно возможно
.items[] и .items.add ?

Автор: CodeMonkey 26.1.2012, 00:59
Items - объект.

У любого объекта разрешается иметь 1 индексированное свойство по умолчанию.

например

Код

TItems = class
  property Items[const Index: Integer]: TNode read getNode; default;
end;


Тогда Items[0] = Items.Items[0]

Автор: northener 26.1.2012, 01:08
Цитата(Чучмек @  26.1.2012,  00:35 Найти цитируемый пост)
Как одновременно возможно

Может когда-нибудь выйду на пенсию, так представлю на форуме список "одновременно возможного". 
Если доживу. smile

Автор: Чучмек 26.1.2012, 01:38
CodeMonkey, спасибо. Но это, по-моему, не единственный вариант.
У всяких T...Box, T...View как-то по другому.

Автор: northener 26.1.2012, 01:46
Цитата(Чучмек @  26.1.2012,  01:38 Найти цитируемый пост)
Но это, по-моему, не единственный вариант.
У всяких T...Box, T...View как-то по другому. 

Именно так. Вот только это не сразу интуитивно понятно.

Автор: Чучмек 26.1.2012, 09:04
Все, разобрался. Спасибо.
Цитата

Если в классе объявлен массив свойств, принимаемых по умолчанию, то на этот массив можно сослаться без указания имени свойства. 

Автор: MetalFan 26.1.2012, 13:09
Рекомендую так же изредка в хелп заглядывать, там это прекрасно описано:
Цитата

...
The definition of an array property can be followed by the default directive, in which case the array property becomes the default property of the class. For example: 

Код

type
   TStringArray = class
    public
       property Strings[Index: Integer]: string ...; default;
          ...
    end;

If a class has a default property, you can access that property with the abbreviation object[index], which is equivalent to object.property[index]. For example, given the declaration above, StringArray.Strings[7] can be abbreviated to StringArray[7]


Автор: Чучмек 26.1.2012, 18:17
С англицким туговато.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)