Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Оператор доступа в Delphi
Показать сообщение отдельно

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Установку свойств нескольких объектов можно сделать через RTTI функцию SetXXXProp, где XXX - мнемоника типа свойства и может быть Ord, Str, Float... а вот как реализовать обход компонентов для смены свойств уже дело конкретной задачи.
Для примера следующий обработчик клика на кнопку установит всем объектам на форме у которых есть свойство caption значение bla-bla-bla:
Код: Выделить весь код
procedure TForm1.Button1Click(Sender: TObject);
Var
  i: integer;
  PropInfo: PPropInfo;
begin
for i:=0 to Form1.ComponentCount-1 do
  begin
    PropInfo := GetPropInfo( Form1.Components[i].ClassInfo, 'Caption');
    if PropInfo <> nil then
      SetStrProp( Form1.Components[i], PropInfo, 'bla-bla-bla' );
  end;
end;
В моем случае это было три надписи (TLabel).

PS для примера надо включить в раздел uses модуль TypInfo.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 20:46, 29-02-2004 | #7

Название темы: Оператор доступа в Delphi