Bucle Shapes para MasterMind
Hola otra vez. Ahora mi duda es que todos los shapes que tengo ya con colores, quiero ponerlos en blanco. Mi idea es hacerlo con un bucle tipo:
for i:=1 to 10 do
"ALGO".Brush.Color:=clwhhite;
ese "algo" es lo que no se, para que cada vez que incremente la i me ponga el numero de shape correspondiente a blanco. Si se os ocurre algo decirmelo, porfa. Gracias.
for i:=1 to 10 do
"ALGO".Brush.Color:=clwhhite;
ese "algo" es lo que no se, para que cada vez que incremente la i me ponga el numero de shape correspondiente a blanco. Si se os ocurre algo decirmelo, porfa. Gracias.
Hola de nuevo, para hacer lo que quieres tendiras que hacer una matriz de controles, y si no tengo mal entendido, en delphi solo se puede hacer mediante codigo (segun lo que yo conozco que no es mucho).
Te aconsejo que si solo tienes diez controles shape los cambies de color uno a uno que va ser lo mas facil. Create un procedimiento, y e en ese procedimiento cambias uno a uno los shape de color y cada vez que quieras ponerlos en blanco llamas a ese procedimiento, Esta es la forma en que yo lo haria.
De todas formas te dejo el codigo para crear una matriz de 10 shapes, aunque si la creas tendrias que cambiar todo el codigo (el codigo iria dentro de un evento, por ejemplo pulsar un boton):
var
Shape: array[0..10] of TShape;
i: Integer;
begin
for i := 0 to 10 do
begin
Shape[i] := TShape.Create(Self);
Shape[i].Parent := Self;
Shape[i].Top := (Shape[i].Height + 2) * i;
end;
end;
las linea shape[i].top:=... coloca los controles shape en el lado izquierdo del formulario y uno debajo del otro. Espero que te ayude aunque, ya te digo, lo hari de la primera forma que te comento.
Saludos
Te aconsejo que si solo tienes diez controles shape los cambies de color uno a uno que va ser lo mas facil. Create un procedimiento, y e en ese procedimiento cambias uno a uno los shape de color y cada vez que quieras ponerlos en blanco llamas a ese procedimiento, Esta es la forma en que yo lo haria.
De todas formas te dejo el codigo para crear una matriz de 10 shapes, aunque si la creas tendrias que cambiar todo el codigo (el codigo iria dentro de un evento, por ejemplo pulsar un boton):
var
Shape: array[0..10] of TShape;
i: Integer;
begin
for i := 0 to 10 do
begin
Shape[i] := TShape.Create(Self);
Shape[i].Parent := Self;
Shape[i].Top := (Shape[i].Height + 2) * i;
end;
end;
las linea shape[i].top:=... coloca los controles shape en el lado izquierdo del formulario y uno debajo del otro. Espero que te ayude aunque, ya te digo, lo hari de la primera forma que te comento.
Saludos
Por cierto si creas la miatriz de shapes con el codigo que te envio para cambiarlos de color con el bucle seria:
for i:=1 to 10 do
Shape[i].Brush.Color:=clwhhite
for i:=1 to 10 do
Shape[i].Brush.Color:=clwhhite
Bueno, la verdad es que puse 10 por poner algo. En realidad tengo 105. Pero ya lo he dejado por imposible porque lo que venia despues era muy complicado. Pero de todas formas me ha venido muy bien lo que has propuesto porque no tenia ni idea de como hacerlo. Gracias!
