Delphi - Ayuda MasterMind

 
Vista:

Ayuda MasterMind

Publicado por Wombi (1 intervención) el 04/01/2005 20:22:44
Hola a todos, espero qeu me podais ayudar. Estoy intentando hacer el juego de MasterMind y me he atrancado y no puedo seguir. Para reutilizar código he creado un procedimiento llamado "Colores". En él parte del código es este:

case i of
0: begin
Form1.shape1.Brush.Color:=clblack;
end;
1: begin
Form1.shape1.Brush.Color:=clred;
end; ...
Mi problema es que al hacer la llamada, como este procedimiento esta hecho sobre "Shape1", es Shape1 el que siempre cambia:
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Colores(sender);

end;

¿Que tengo que poner en vez de Form1.Shape1....para que ese procedimiento me funcione en cada shape que tengo y no solo en el 1???. Espero que me podais ayudar. Muchas gracias.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda MasterMind

Publicado por BigLuis (713 intervenciones) el 05/01/2005 15:59:44
Como pasas como parámetro a Colores, Sender, entonces en el procedimiento Colores haz lo siguiente:
procedure Colores(sender:TObject);
Form1?.(Sender as TShape).Brush................etc.
De esta forma Sender siempre será igual al TShape que lo llame.
¿Lo entiendes?.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda MasterMind

Publicado por Elena (330 intervenciones) el 06/01/2005 19:16:03
Siempre que esperes que te devuelva algo, debes hacerlo con una función, en tu caso puedes hacer la función que tome como parámetro el Shape y te devuelva un color,
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar