No Delphi é muito fácil varrer os componentes de um TForm usando enumerator e for in. Bem mais prático que usando for to. No exemplo abaixo, faço uma verradura por todos os componentes do form setando todos os TLabel como transparentes:
var
Component: TComponent;
begin
for Component in Self do
if Component is TLabel then
TLabel(Component).Transparent := True;
end;
TPodcast
9 Comments
Legal Erick a dica, isso eu sei q tem no VS, mais no Delphi eh uma novidade pra mim ou melhor pra todos, resumindo nada nesse mundo se cria tudo se copia
at+
Eu acho que as boas idéias devem ser copiadas sempre.
Parabéns Erick por está sempre mostrando formas mais práticas de usar o Delphi. Isso mostra a sua experiência e conhecimento na linguagem e inspira que outros procurem conhecer mais o poder que tem em mãos.
Chris, esse recurso do Delphi na verdade é bem antigo, para ser sincero, desde sempre. A única parte do código que é mais recente (Delphi 2005) é a parte do for..in..do. O arraus Components, representado no código por Self, sempre existiu nos conteiners decendentes de TComponent, como o TForm, por exemplo. Sendo assim Self.Components. Como a propriedade array Components é a propriedade default da classe, não é necessário fazer referência a ela, como o seguinte: Self.Components[2] é a mesma coisa que Self[2]. Por isso o for Component in Self do… ou seja, se alguém copiou alguém, não foi o Delphi.
Abraço a todos
Boa dia Erick,vai na borcon esse ano??
abraços.
Vou sim.
Beleza nos encontramos lá,gosto dos seus posts,todos os dias entro para ver novidades.
vai participar tambem do happy hour?
Queria comentar sobre algumas pessoas falando sobre delphi for net, falando que o delphi vai durar no maximo 5 anos e vai virar um clipper da vida, que hoje o desenvolvimento é voltado para web e mobile, e que as empresas estão faznedo, é migrando seus projetos delphi para c# asp.net ou java!
o que vocês acham??
abraços.
Faz tempo que escuto essa conversar Sérgio, e o Delphi só crescendo. A cada versão melhor!
Abraço a todos
Sérgio, esse não é um assunto simples que dê para discutir nos comentários do blog. Mas certamente daqui 5 anos o Delphi estará muito bem.