Ver Mensaje Individual
  #9  
Antiguo 25-02-2019
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Reputación: 0
donpedro cantidad desconocida en este momento
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Código Delphi [-]
      
cadenas[1]:=edit1.Text+edit2.Text+edit3.Text;       
cadenas[2]:=edit4.Text+edit5.Text+edit6.Text;       
cadenas[3]:=edit7.Text+edit8.Text+edit9.Text;       
cadenas[4]:=edit10.Text+edit11.Text+edit12.Text;       
cadenas[5]:=edit13.Text+edit14.Text+edit15.Text;       
cadenas[6]:=edit16.Text+edit17.Text+edit18.Text;       
cadenas[7]:=edit19.Text+edit20.Text+edit21.Text;       
cadenas[8]:=edit22.Text+edit23.Text+edit24.Text;       
cadenas[9]:=edit25.Text+edit26.Text+edit27.Text;       
cadenas[10]:=edit28.Text+edit29.Text+edit30.Text;
Para evitar esto, es justo para o que sirve el FindComponent.


Te lo pongo de memoria, pero la idea sería algo así:

Código Delphi [-]
for i:=0 to 9 do begin
  // cadenas[1]   ...   Edit1  .... Edit2   ... Edit3
  cadenas[i+1] :=  TEdit(FindComponent('edit' + IntToStr(3*i+1)).Text) +  
                         TEdit(FindComponent('edit' + IntToStr(3*i+2)).Text) + 
                         TEdit(FindComponent('edit' + IntToStr(3*i+3)).Text); 
end;


Y abreviando un poco más...
Código Delphi [-]
for i:=0 to 9 do begin
  Str := '';
  for j:=1 to 3 do begin
    // Esta línea concatena los 3 edits
    Str := Str + TEdit(FindComponent('edit' + IntToStr(3*i+j)).Text); 
  end;  
  cadenas[i+1] :=Str;
end;


Use esa logica para limpiar los edit de la siguiente manera:
Código Delphi [-]
for i := 1 to 120 do
    if TEdit(self.FindComponent('edit' + inttostr(i)))<> nil then
      TEdit(self.FindComponent('edit' + inttostr(i))).Clear;

Pero no he logrado hacerlo para concatenar las cadenas
Responder Con Cita