Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 17-05-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
sebaguillen, con respecto a la última recomendación te la explico mejor.
Como el dódigo de los botones que corresponden a los números es el mismo, ya que en definitiva, lo único que se cambia es el caption que se pasa, yo me valgo de una de las ventajas que tiene Delphi: los eventos compartidos.
¿Que significa esto? Que varios controles pueden hacer uso del mismo evento.

Pones este código en evento onClick del botón 0:

Código Delphi [-]
procedure TForm1.B0Click(Sender: TObject);
begin
  Edicion.Text := IntToStr((Sender as TButton).Tag);
end;

Te explico: El parámetro sender es del tipo TObjet y representa al objeto que envia la orden. Con la orden (Sender as TButton) restringo el tipo de dato y me aseguro de que el objeto sea del tipo TButton.
La propiedad Tag es una propiedad comodín que se le incorpora a los controles y no tiene uso definido... se puede usar para lo que quieras. Valiendome de que es tipo integer, almaceno en ésta el valor del botón. Es decir que para el botón 1, el valor del tag será 1.

Al decir (Sender as TButton).Tag lo que hago es obtener el Tag si el objeto que envia la orden es un botón Y devuelvo dicho valor en el TEdit.

Como verás, en ninguna parte del código pregunto si el botón es el botón 1, 5 o 0... o cualquiera. La magia está en el Tag y el compartir dicho botón. Ya te sigo comentando... esta magia...

Ahora, para cada botón (desde el 1 al 9) haz lo siguiente:
1. Seleccionalo.
2. En el inspector de propiedades busca el evento OnClick. Haz click en la fecha del combo. Te aparecerá en la lista el evento ButtonoClick. Seleccionalo.

Esto, que hiciste, es asignar un evento compartido.

Entonces, la magia consiste ahora en que cuando se pulse cualquier botón (del 0 al 9) se aplique un solo evento. Por ejemplo: se pulsa en botón 5 (Button5). El parámetro sender contendrá el valor "Button5" como Button5 es del tipo TButton se extrae el valor del Tag, que le corresponde, es decir 5.

Es sencillo... y como verás... puede ser muy util.

Con respecto a lo segundo: Si deseas que se escriba en el Edit sin tener el foco en él y que se reciba la orden desde el teclado... debes hacer lo siguiente:
1. Poner la propiedad KeyPreviuw del formulario en true.
2. En el evento onKeyPress del formulario pones el código necesario para que el Edit copie dicho valor.

Espero que se entienda.
Saludos,

PD: Si tienes más dudas, ya sabes...
PD2: Me alegro que hayas solucionado el problema.
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 17-05-2007 a las 05:30:20.
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calculadora en delphi 7 eudy.net Varios 15 10-03-2007 05:35:02
Calculadora Epunamun OOP 3 19-12-2005 22:33:11
Calculadora licencia GNU bismarck_sierra Varios 0 05-04-2005 06:56:33
Componente Calculadora Gustavo Gowdak OOP 4 23-01-2005 13:19:14
Ejecutar la calculadora en una posición de la pantalla cybergerman OOP 11 27-09-2004 09:13:33


La franja horaria es GMT +2. Ahora son las 11:19:49.


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