Cita:
Empezado por ecfisa
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.
|
Genial esa es la idea, eso me va perfecto pero el ultimo problema que tengo ahora es que me borra todo el formulario y me tiene que borrar los botones que hay solo dentro de un PANEL...
estoy mirando de hacerlo metiendo delante el nombre del panel y pasa de mi...
donde me estoy equivocando??
gracias compañeros por el aporte que estais haciendo.