Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2004
Chajal Chajal is offline
Miembro
 
Registrado: jun 2004
Posts: 18
Poder: 0
Chajal Va por buen camino
Rompecabezas

Ante todo muchas felicidades a la existencia de este Club. Bueno he estado practicando Delphi 6 y se que mi nivel no llega mas que a novato, espero que este juego aclare muchas dudas a algunos (incluye manual, y codigo fuente) y me ayude a resolver otras, ya que el juego se que se puede mejorar, por ejemplo con un arreglo de botones (hecho que hice en VB, pero no se como implementarlo en Delphi), que reduciria muchisimo el codigo fuente y haria más eficiente su manejo. Ahora estoy realizando otro juego ( que espero subir pronto), pero estoy atorado, ya que no se como captural el boton derecho del mouse en una "image".
Ante todo Gracias

Nota: Si no logro subir el juego, lo pueden bajar de

www.geocities.com/ChajalMexico/index.html
Responder Con Cita
  #2  
Antiguo 02-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Chajal
por ejemplo con un arreglo de botones (hecho que hice en VB, pero no se como implementarlo en Delphi), que reduciria muchisimo el codigo fuente y haria más eficiente su manejo
Delphi te permite crear vectores y matrices de cualquier tipo de dato, entre ellos los controles. Lo que no puedes hacer que si te deja VB es crearlos en tiempo de diseño.
Para crearlos en tiempo de ejecución, solo tienes que definir un vector del tipo que quieras usar, crear en un ciclo los controles y ubicarlos donde te guste. Por otro lado todos los eventos de un mismo tipo pueden apuntar al mismo procedure, así que solo tienes que asignarle el evento a utilizar a un procedure predefinido.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 02-06-2004
Avatar de SnaKe
SnaKe SnaKe is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid (España)
Posts: 227
Poder: 21
SnaKe Va por buen camino
Puedes utilizar el evento OnMouseDown del TImage, si te fijas en el interface que se crea en ese evento hay una variable que se llama Button, comprueba de la siguiente forma:

Código Delphi [-]
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if (Button = mbRight) then begin
   // Aqui lo que quieras
  end;
end;

Espero que te sirva.
Un saludo.
__________________
Todos somos aficionados. La vida es tan corta que no da para más.
Guia de Estilos
Responder Con Cita
  #4  
Antiguo 02-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Por otro lado, viendo tu código, hacer algo así, para mantener lo hecho en tiempo de diseño:
Código Delphi [-]
  TForm1 = class(TForm)
  ...
  private
    Botones: array[1..9] of TButton; {De 1 a nueve para manter tu numeración}
    ...
  end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  Botones[1] := Button1;
  Botones[2] := Button2;
  ...
end;
Otra opción, puede ser manejar una función que devuelva un TButton pasándole su Index, esta si sería un feo case, pero te evitarías el resto:
Código Delphi [-]
function TForm1.GetButton(Index: Integer): TButton;
begin
  case Boton of
    1: Result := Button1;
    2: Result := Button2;
    ...
  else
    raise ...
  end;
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 02-06-2004
Chajal Chajal is offline
Miembro
 
Registrado: jun 2004
Posts: 18
Poder: 0
Chajal Va por buen camino
Gracias...

Gracias Snake, gracias Delphi.com.ar me han aclarado unas dudotas, espero tener pronto la version 2 del rompecabezas, asi como el nuevo juego prometido
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:10:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi