Autor Tema: Label[1].caption , label[2].caption etc etc  (Leído 1124 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 236
Label[1].caption , label[2].caption etc etc
« en: 13 de Enero de 2019, 15:21:38 »
Hola a todos , seguramente a muchos les paso que tienen que definir muchos labels los cuales son todos correlativos , y es tedioso cuando se trata de 50 por ejemplo ..la pregunta es la siguiente

como puedo hacer esto ??
Código: [Seleccionar]
for x:= 1 to 50 do
label[x].caption := label[x+1].caption;
Muchas gracias
« Última modificación: 13 de Enero de 2019, 17:25:11 por Rseliman »
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado miquel

  • PIC12
  • **
  • Mensajes: 68
Re:Label[1].caption , label[2].caption etc etc
« Respuesta #1 en: 13 de Enero de 2019, 17:22:13 »
Prueba con este código, coloca en el caption de cada Label el número de control que tiene dentro de la Form.
No sé si es esto lo que querías hacer.


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Cnt:integer;
begin
for Cnt := 0 to ControlCount -1 do
   begin
   if Controls[Cnt] is TLabel then
      begin
      TLabel(Components[Cnt]).Caption:='Label '+inttostr(Cnt);
      end;
   end;
end;

Saludos,

Miquel


Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 236
Re:Label[1].caption , label[2].caption etc etc
« Respuesta #2 en: 13 de Enero de 2019, 17:28:51 »
Prueba con este código, coloca en el caption de cada Label el número de control que tiene dentro de la Form.
No sé si es esto lo que querías hacer.


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Cnt:integer;
begin
for Cnt := 0 to ControlCount -1 do
   begin
   if Controls[Cnt] is TLabel then
      begin
      TLabel(Components[Cnt]).Caption:='Label '+inttostr(Cnt);
      end;
   end;
end;

Saludos,

Miquel


Antes que nada ..mil gracias por laa respuesta , ahi arregle el codigo estaba mal puesto , lo que pretendo es hacer que un label sea igual al siguiente y este al siguiente y asi sucecivamente hasta 30 en mi caso o sea que con cada pulsacion cambie el .caption premero por el segundo , el segundo por el tercero , etc hasta el 30

Código: [Seleccionar]
//Unitlcd.Form2.BCLabel10.Caption := Unitlcd.Form2.BCLabel9.Caption;
         //Unitlcd.Form2.BCLabel9.Caption := Unitlcd.Form2.BCLabel8.Caption;
         //Unitlcd.Form2.BCLabel8.Caption := Unitlcd.Form2.BCLabel7.Caption;
         //Unitlcd.Form2.BCLabel7.Caption := Unitlcd.Form2.BCLabel6.Caption;
         //Unitlcd.Form2.BCLabel6.Caption := Unitlcd.Form2.BCLabel5.Caption;
         //Unitlcd.Form2.BCLabel5.Caption := Unitlcd.Form2.BCLabel4.Caption;
         //Unitlcd.Form2.BCLabel4.Caption := Unitlcd.Form2.BCLabel3.Caption;
         //Unitlcd.Form2.BCLabel3.Caption := Unitlcd.Form2.BCLabel2.Caption;
         //Unitlcd.Form2.BCLabel2.Caption := Unitlcd.Form2.BCLabel1.Caption;


Mil Gracias voy a ver si entiendo lo que escribiste

Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!

Desconectado Rseliman

  • PIC16
  • ***
  • Mensajes: 236
Re:Label[1].caption , label[2].caption etc etc
« Respuesta #3 en: 13 de Enero de 2019, 17:37:34 »
Prueba con este código, coloca en el caption de cada Label el número de control que tiene dentro de la Form.
No sé si es esto lo que querías hacer.


procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Cnt:integer;
begin
for Cnt := 0 to ControlCount -1 do
   begin
   if Controls[Cnt] is TLabel then
      begin
      TLabel(Components[Cnt]).Caption:='Label '+inttostr(Cnt);
      end;
   end;
end;

Saludos,

Miquel



Estimado Miguel , lo solucione de la siguiente manera ...y funciona ...mil gracias

Código: [Seleccionar]
for i := 10 downto 2 do TBCMaterialDesignButton( UnitLcd.Form2.FindComponent('BCLabel'+IntToStr(i)) ).Caption:= TBCMaterialDesignButton(UnitLcd.Form2.findcomponent('BCLabel'+IntToStr(i-1)) ).Caption ;
Las Grandes Obras las sueñan los grandes locos , mientras los inutiles las critican !!