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

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

Одинаковое значение свойств у всех Edit-ов [XP]


Страницы:   1 2 3

programmer90 ©   (2008-05-30 19:04:00) 

Здравствуйте уважаемые участники форума. У меня такой вопрос: Как задать одно и то же значение свойства всем обектам данного типа на форме. Пример : я хочу чтобы при к-л событии (неважно каком) всем Еdit-ам формы придать одинаковое значение Text-a. Чесно говоря видел где-то, но забыл где...Зарание всем спасибо.


ZENsan   (2008-05-30 20:42:00) [41]

Кстати.. бывает случай когда можно и так:

for i := 1 to 23 do
 TEdit(FindComponent('Edit' + IntToStr(i))).Text := 'Kakoj-to tekst';


programmer90   (2008-05-30 20:36:00) [42]

У меня на форме только 23 едита(так нужно) впринципе их можно  ctrl+a и присвоить свойство в инспекторе объектов :) надо "из-под программы".
Palladin ©  (30.05.08 20:18) [3]- мне как новичку очень интересно что написал   nimble_
nimble_ (30.05.08 19:11) [1] - Очень подробно  написано,
,я уверен в ближайшем будущем пригодится.
ZENsan © (30.05.08 20:22) [4]--Спасибо это то что мне нужно


ZENsan   (2008-05-30 20:30:00) [43]

Integer(Value)?, когда ...; Value: Integer);...
:)


ZENsan   (2008-05-30 20:28:00) [44]

Да нее... ты просто слишком заумно человеку показываешь. Он про такие вещи спрашивает, а ты ему даже не написал что пришлось бы подключить модуль TypInfo.


nimble_   (2008-05-30 20:25:00) [45]

Ну если так, то не у меня одного ;) Нас уже двое
А вообще, автор точно не указал, что именно ему нужно: то ли перед компиляцией свойства менять, то ли после. ХЗ )
"видел где-то но забыл". я расценил это как изменение свойств компонентов уже запущенной проги. а то shift больна проста :)


ZENsan   (2008-05-30 20:22:00) [46]

for i := 0 to ComponentCount - 1 do
 if Components[i] is TEdit then
   TEdit(Components[i]).Text := 'Kakoj-to tekst';


Palladin   (2008-05-30 20:18:00) [47]


>nimble_   (30.05.08 19:11) [1]

по моему у тебя параноя ) и в следствии этого искаженное восприятие информации на входе


Reindeer Moss Eater   (2008-05-30 19:14:00) [48]

Выделить всех шифтом и присвоить свойство в инспекторе объектов


nimble_   (2008-05-30 19:11:00) [49]

procedureSetProperties(ClassName, SomeProperty: string; Value: Integer);
var
  i: integer;
  PropInfo: PPropInfo;
  Component: TComponent;
begin
  fori := 0 to ComponentCount- 1 do
  begin
    Component := Components[i];
    if(Component is TControl) and((Component.ClassName = ClassName)
      or(ClassName = 'AllComponents')) then
    begin
      PropInfo := GetPropInfo(Component.ClassInfo, SomeProperty);
      ifAssigned(PropInfo) then
        SetOrdProp(Component, PropInfo, Integer(Value));
    end;
  end;
end;

Пример использования:

procedureTForm1.Button1Click(Sender: TObject);
begin
  // Make all components readonly
 SetProperties('AllComponents', 'readonly', 1);
  // Make all components of Class TEdit invisible
 SetProperties('TEdit', 'visible', 0);
  // Set the Height Property of all TLabels
 SetProperties('TLabel', 'Height', 30);
  // Set ShowHint to false for all components
 SetProperties('AllComponents', 'ShowHint', 0);
  // Disable all TMemo Components
 SetProperties('TMemo', 'Enabled', 0);
  // Set Autosize to true for all TLabels
 SetProperties('TLabel', 'Autosize', 1);
end;


Страницы:   1 2 3

Наверх

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