Eu descobri uma função que eu acho que é o que eu quero. Mas ainda
estou tentando usar. Qualquer progresso eu aviso.
A função é:

IsItThere := IsPropertyInCategory('Localizable', TCustomEdit, 'Text');
outra opção:
IsItThere := IsPropertyInCategory('Localizable', 'TCustomEdit', 'Text');

Obrigado. A gente chega lá!


--- Em delphi-br@yahoogrupos.com.br, "Alisson Ricardo Viol Gazda"
<[EMAIL PROTECTED]> escreveu
> Eu não conheço nenhuma função ou procedimento que retorne esses
dados. Mas você pode armazenar em uma TStringGrid as propriedades
padrão de cada componente e fazer uma função boleana que retorne se
para aquele componente existe ou não a propriedade na lista de
propriedades.
> 
> Grid
> Classe  |    Prop1        |    Prop2                |Prop3
> TButton |    OnClick    |    OnMouseMove    | Enabled
> TEdit     | OnChange   |    OnEnter             | Enabled
> 
> 
> function TForm1.hasProperty(Classe, Propriedade: String): Boolean;
> var
>    Linha, Coluna: Integer;
> begin
> Result:=False;
> For Linha:=1 to sg1.RowCount-1 do
>    begin
>       if sg1.Cells[0, Linha]=Classe then
>          begin
>             for Coluna:=1 to sg1.ColCount-1 do
>                begin
>                   if sg1.Cells[Coluna, Linha]=Propriedade then
>                      begin
>                         Result:=True;
>                         Break;
>                      end;
>                end;
>          end;
>    end;
> end;
> 
> Aí para chamar:
> 
> if hasProperty(Classe, Propriedade) then
>    messagedlg('A Propriedade '+Propriedade+' existe em
'+Classe,mtinformation,[mbok],0)
> else
>    messagedlg('A Propriedade '+Propriedade+' NÃO existe em
'+Classe,mterror,[mbok],0)
> 
> 
> 
> Não é eficiente mas ajuda um pouco já.
> 
> 
> Alisson Ricardo VIol Gazda
> 
> 
>   ----- Original Message ----- 
>   From: Carlos Eduardo L. de Souza 
>   To: delphi-br@yahoogrupos.com.br 
>   Sent: Thursday, August 25, 2005 2:41 PM
>   Subject: [delphi-br] componente tem propriedade?
> 
> 
>   Tarde!
>   Alguém sabe:
> 
>   Eu preciso descobrir se um determinado componente tem uma propriedade
>   ou um método ou evento.
>   Mais ou menos assim:
>       for i:= 0 to ComponentCount - 1 do
>       begin
>         if Components[i].hasProperty('Enabled') then //isto não
existe...
>           Components[i].Enabled := False; //essa linha também vai dar
>   erro sem um cast...
>         //preciso também saber:
>         if Components[i].hasEvent('OnClick') then
>           Components[i].OnClick := OnClickPersonalizado;
>       end
>   Qualquer idéia é bem vinda...
>   tks
>   Eduardo
> 
> 
> 
> 
>   -- 
>   <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> 
>   Para ver as mensagens antigas, acesse:
>   http://br.groups.yahoo.com/group/delphi-br/messages
> 
>   Para falar com o moderador, envie um e-mail para:
>   [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> 
> 
> 
>         Yahoo! Grupos, um serviço oferecido por: 
>           
> 
> 
>
------------------------------------------------------------------------------
>   Links do Yahoo! Grupos
> 
>     a.. Para visitar o site do seu grupo na web, acesse:
>     http://br.groups.yahoo.com/group/delphi-br/
>       
>     b.. Para sair deste grupo, envie um e-mail para:
>     [EMAIL PROTECTED]
>       
>     c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos
do Serviço do Yahoo!. 
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a