Конференция "Начинающим" » Как проверить есть ли у Компонента свойство? [D7, WinXP]
 
  • AndreiPerec © (10.07.12 19:17) [0]
    Суть такая.

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

    Form
    ComponentCount
    Components

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

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

    Но это не то что я хочу, мне не известен заранее TEdit !
  • vasa777 (11.07.12 00:52) [1]
    вот с утра проснуцца знатоки .. но я бы так сделал
    фор 0 .. число компонетнаформе..
    <тут цикл форм или запрос>
    далее как компонент получаем че хотим
    try
    (x as xx).zz
    i zz.visible <или ченад>:=1 then <>
    except
    .. // none
    end;

    ну и получите че нада..
    можно конечно через копоненткоунт, далее перебираь, смареть свойства и тп.
  • vasa777 (11.07.12 00:56) [2]
    еще
    >> у ВСЕХ компонентов проверить свойство
    ну ето от 0 до кол. комп
    >> но как проверить его на свойство (String) и как получить/установить
    там е такое (свойство).asstring
    или типа
    >> не известен заранее TEdit
    тада for x as tedit do..count if x as tedit= true then ''
  • vasa777 (11.07.12 00:58) [3]
    ляпнул по неопытности, мож поможит или мысли прибавит.
    блин вот мне терь видимо попадет, низя скорее всего отвечать било.
  • vasa777 (11.07.12 01:02) [4]
    блин еще..
    вот помните был разговор про массив компонетов у jedy е таймеры на этой основе.. (комплект таймеров - суть таже)
    нужен лист - та же ботва. еси 4у те так сор.
  • Юрий Зотов © (11.07.12 02:02) [5]
    uses TypInfo;

    for i := 0 to ComponentCount - 1 do
     if IsPublishedProp(Components[i], 'Visible') then ...
  • Германн © (11.07.12 02:07) [6]

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

    Зачем?
    http://www.gunsmoker.ru/2008/10/x-y-z.html
  • AndreiPerec © (11.07.12 02:28) [7]
    Да да спасибо уже нашёл решение.

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

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

    и т.д
  • Anatoly Podgoretsky © (11.07.12 07:38) [8]

    > vasa777   (11.07.12 00:52) [1]

    Тебе бы лучше русский язык подучить.
 
Конференция "Начинающим" » Как проверить есть ли у Компонента свойство? [D7, WinXP]
Есть новые Нет новых   [134430   +43][b:0][p:0]