Ver Mensaje Individual
  #4  
Antiguo 24-07-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Liante.
Para borrar los componentes podés usar utilizar la propiedad Components del form:
Código:
procedure BorrarSpeedBtns;
var
  i: Integer;
begin
   for i:= ComponentCount -1 downto 0 do
     if Components[i].ClassType = TSpeedButton then
       Components[i].Free;
end;
No, no hice el conteo al revés por que me guste complicar la cosa.
Si hiciera, for i:= 0 to ComponentCount - 1 do, obtendría un error de índice; puesto que
la posición del elemento que acabo de borrar sería ocupada inmediatamente por la del
componente que lo sucede.
Esto hace que cuando el componente "1" sea borrado y vaya a borrar el "2" este esté en
el lugar que antes ocupaba el "1", borrando entonces el "3" , y así sucesivamente. Provocando
inevitablemente una incongruencia entre el índice del ciclo y el número de los componentes.

Espero haber ayudado.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-07-2010 a las 07:29:24.
Responder Con Cita