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

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

Как проверить есть ли у Компонента свойство? [D7, WinXP]


AndreiPerec ©   (2012-07-10 19:17:00) 

Суть такая.

Нужно у ВСЕХ компонентов проверить свойство например Visible и если оно есть обработать данные.

Form
ComponentCount
Components

Так поулчаем каждый компонент, но как проверить его на свойство (String) и как получить/установить его.

Я знаю что можно например так
(lol as TEdit).Text

Но это не то что я хочу, мне не известен заранее TEdit !


Anatoly Podgoretsky   (2012-07-11 07:38:00) [1]


> vasa777   (11.07.12 00:52) [1]

Тебе бы лучше русский язык подучить.


AndreiPerec   (2012-07-11 02:28:00) [2]

Да да спасибо уже нашёл решение.

Вся соль была в uses TypInfo; !!!!!!

if IsPublishedProp(Components[i], 'Visible') then
GetStrProp(Com, PropInfo)

и т.д


Германн   (2012-07-11 02:07:00) [3]


> Суть такая.
>
> Нужно у ВСЕХ компонентов проверить свойство например Visible

Зачем?
http://www.gunsmoker.ru/2008/10/x-y-z.html


Юрий Зотов   (2012-07-11 02:02:00) [4]

uses TypInfo;

for i := 0 to ComponentCount - 1 do
 if IsPublishedProp(Components[i], 'Visible') then ...


vasa777   (2012-07-11 01:02:00) [5]

блин еще..
вот помните был разговор про массив компонетов у jedy е таймеры на этой основе.. (комплект таймеров - суть таже)
нужен лист - та же ботва. еси 4у те так сор.


vasa777   (2012-07-11 00:58:00) [6]

ляпнул по неопытности, мож поможит или мысли прибавит.
блин вот мне терь видимо попадет, низя скорее всего отвечать било.


vasa777   (2012-07-11 00:56:00) [7]

еще
>> у ВСЕХ компонентов проверить свойство
ну ето от 0 до кол. комп
>> но как проверить его на свойство (String) и как получить/установить
там е такое (свойство).asstring
или типа
>> не известен заранее TEdit
тада for x as tedit do..count if x as tedit= true then ''


vasa777   (2012-07-11 00:52:00) [8]

вот с утра проснуцца знатоки .. но я бы так сделал
фор 0 .. число компонетнаформе..
<тут цикл форм или запрос>
далее как компонент получаем че хотим
try
(x as xx).zz
i zz.visible <или ченад>:=1 then <>
except
.. // none
end;

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


Наверх

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