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

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

Действия над группой объектов [D7]


Страницы:   1 2

StriderMan ©   (2009-03-20 16:05:00) 

Есть несколько объектов одного класса. Допустим хранятся на них ссылки в листе.
Нужно у всех объектов вызвать один и тот же метод или поменять одинаково одно и то же свойство. Как это можно сделать не описывая перебиралку списка для каждого метода/свойства?


StriderMan   (2009-03-20 16:46:00) [21]


> перебиралка будет по любому

понятно что будет, но хотелось бы чтобы не под каждый метод/свойства а одна на всё. ну максимум две-три :)


Медвежонок Пятачок   (2009-03-20 16:45:00) [22]

если свойства паблишед, то через имена свойств.
если не только паблишед, то  элементарно.

процедура, в ней цикл, перебирающий список и вызывающая колбак функцию переданную параметром.

procedure EnumMyComponentListForSomePurpose(AList : TList; ACallBack : TMyCallback);

И все.
Цикл один.


StriderMan   (2009-03-20 16:42:00) [23]


> еще раз

пример из жизни: редактор компонентов. выделили 10 кнопок и поставили им всем Left := 10; Или Height := 25; или Сказали им всем BringToFront;
Как такое сделать чтобы НЕ писать под каждое свойство/метод конструкцию типа
for i := 0 to ComponentCount - 1 do
 (Components[1] as TMyControl).MyProperty := MyValue;


немо2   (2009-03-20 16:36:00) [24]

есть же возможность ввести св-во одинаковое для всех объектов класса.
или чего путаю?


Медвежонок Пятачок   (2009-03-20 16:25:00) [25]

а никак.
перебиралка будет по любому.


Palladin   (2009-03-20 16:15:00) [26]

еще раз


Страницы:   1 2

Наверх

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