Ver Mensaje Individual
  #9  
Antiguo 31-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues no. Veo que ni reiterando quieren omitir el uso de FindComponent.

Una de las pocas (muy pocas) cosas en las que me gustaba más VB son sus arreglos de componentes con lo cual sería mucho más fácil trabajar en estos casos.

Dicha esta barbaridad, veamos cómo podemos arreglárnoslas con Delphi.

En el formulario declaren el arreglo necesitado:

Código Delphi [-]
type
  TForm1 = class(TForm)
  private
    CheckBoxes: array of TCheckBox;
  end;

En el constructor del formulario usen el código de maeyanes pero para llenar el arreglo:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer; // para recorrer los componentes del formulario
  J: Integer; // para indexar el arreglo de check boxes

begin
  SetLength(CheckBoxes, 100);
  J := 0;

  for I := 0 to ComponentCount - 1 do
    if Components[i] is TCheckBox then
    begin
      CheckBoxes[J] := TCheckBox(Components[i]);
      Inc(J);
    end;
end;

Entonces, para el resto de la aplicación se dispondrá de un arreglo de check boxes mucho más fácil de manipular las veces que sea necesario:

Código Delphi [-]
var
  I: Integer;

begin
  for I := Low(CheckBoxes) to High(CheckBoxes) do
    // código para CheckBoxes[i]
end;

// Saludos
Responder Con Cita