Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Vídeos

Vídeos

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Banner

Delphi - Outros

Como obter tipo de uma propriedade?

Inclua na seção uses: TypInfo
{ Esta função retorna uma string com o nome do tipo de dado
  de uma propriedade. Exemplos de retornos:
  
  PropType(Button1, 'Caption'); // Retorna 'TCaption'
  PropType(Edit1, 'Width'); // Retorna 'Integer';
  PropType(Edit1, 'Color'); // Retorna 'TColor';
}

function PropType(const Obj: TObject; const PropName: string): string;
var
  Info: PPropInfo;
begin
  Info := GetPropInfo(Obj.ClassInfo, PropName);
  if Assigned(Info) then
    Result := Info^.PropType^.Name
  else
    Result := '';
end;

{ Exemplo de uso:
 - Coloque um TButton e um TEdit;
 - No OnClick do Button1 coloque o código abaixo;
 - Execute, digite 'Caption' no Edit1 e clique em Button1.
}

procedure TForm1.Button2Click(Sender: TObject);
begin
  ShowMessage(PropType(Button1, Edit1.Text));
end;

Observações

Verdadeiramente não sei exatamente onde poderíamos aplicar esta dica, mas divulguei-a porque achei interessante. Acredito que o Object Inspector use algo parecido.

O conteúdo desta página pode ajudar alguém? Compartilhe!