Fórum Atribuir valor a uma série de labels criadas em runtime... #243471

16/07/2004

0

Olá pessoal... minha dúvida é a seguinte...

Tenho um relatório e nele eu vou criando labels de acordo com o número de registros que eu tenho em uma tabela... por exemplo... se eu tenho 4 registros, eu crio 4 labels... e assim vai...

Pra criar essas labels eu fiz uma repetição ´for´ e fui atribuindo para o ´Name´ das labels um nome qualquer soado com o valor do contador... desse jeito:

var
LB: TLabel;

(..)

for c:=1 to Quantidade_de_registros(Table1) do
begin
Aqui eu crio a label... ta funcionando certo (eu acho)
LB.Name:= ´Label´ + IntToStr(c); (e é aqui que começa o meu problema)
end;

Eu preciso, depois disso, atribuir valores para os captions dessas labels criadas... como eu posso fazer isso?? Seria alguma coisa tipo assim:

for c:=1 to Quantidade_de_registros(Table1) do
Label + IntToStr(c) := ´Texto qualquer´;

Só que é lógico que isso não funciona... mas eu só queria saber como que eu faço depois pra ir atribuindo valores a essas labels sem saber quantas são... e não adianta falar pra já ir atribuindo valores na hora que eu crio as labels pq não adianta... a realidade é um pouco mais complexa que isso... os captions das labels tem que ir mudando algumas vezes e mais um monte de coisa... só coloquei isso como exemplo pra ver se alguem me ajuda... :lol:

Valeu aí... e obrigado a quem puder me ajudar.
[]s


Rafaelleite

Rafaelleite

Responder

Posts

16/07/2004

Beppe

Vc pode colocar os labéis numa lista ao criá-los, depois acesse cada um com Labeis[c].Caption := xxx; assim naum precisa de Name.

Ou localize o labél pelo nome Owner_Dos_Label.FindComponent(´Label´ + IntToStr(c))


Responder

Gostei + 0

16/07/2004

Rafaelleite

Lista de labels??
Como eu faço pra criar isso? Até que poderia ajudar...

E sobre essa segunda opção... não adianta só localizar o componente, eu preciso atribuir valores para o caption da label...


Se alguém puder ajudar...


Responder

Gostei + 0

16/07/2004

Persist

Lista de labels seria um TList, vc cria um TList e vai adicionando os TLabels lá, para modificar o caption deles vc faz um cast:
TLabel(ListLabel[i]).Caption := ´xxx´.

O FindComponent localiza o componente pelo nome e devolve um TComponent que vc tem que fazer uma cast também.
TLabel(DonoDoLabel.FindComponent(´label.name´)).Caption := ´xxx´


Responder

Gostei + 0

16/07/2004

Cabelo

Colega

Vá mais longe..

Crie um vetor do tipo record..

assim poderá trabalhar de forma organizada..

sem mais

Cabelo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar