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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
evento keypress

hola amigos, como podria hacer que al pulsar el intro dentro de un edit1 se me
activara el codigo asociado a un boton:

procedure TfrmBProductos.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) then
begin

.... /* Aqui es donde meteria el codigo*/
/* he probado con TfrmBProducto.BitBtn1Click; pero me dice uqe me faltan parametros*/
end;

end;


Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 26-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Sospecho que te falta el parámetro Sender. Podría funcionar con algo como BitBtn1Click(BitBtn1) pero no puedo asegurarte nada, aquie no tengo Delphi
__________________
Suerte
.: Gydba :.
Responder Con Cita
  #3  
Antiguo 26-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Como dice Gydba, te falta el parámetro Sender

TfrmBProducto.BitBtn1Click(Sender);

No obstante, soy de la opinión que no debe de hacerse este tipo de programación. Si necesitas reutilizar código que haces en un botón, pon ese código en un procedure o function y llamalo/a desde el botón y desde donde quieras
Responder Con Cita
  #4  
Antiguo 26-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Además, cuando el compilador te dice que faltan parámetros puedes irte a la definición del procedimiento para ver qué parámetros requiere y buscar en la ayuda de Delphi acerca de su uso.

// Saludos
Responder Con Cita
  #5  
Antiguo 26-02-2004
maruenda maruenda is offline
Miembro
 
Registrado: oct 2003
Ubicación: elche
Posts: 173
Poder: 21
maruenda Va por buen camino
Thumbs down a mi me funciona

nombreboton.click.

tan simple como esto.
__________________
frenadol
Responder Con Cita
  #6  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
problema

Tengo este codigo:

procedure TfrmAlbaranes.txtDescuentoKeyPress(Sender: TObject; var Key: Char);
begin
if (key=#13) then

frmAlbaranes.SpeedButton1.Click;
end;


Y en el evento Onclik del txtDescuento este procedimiento. pero no me funciona por que sera?
Responder Con Cita
  #7  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
voy mas alla

si le añado esta linea al codigo del post anterior:

procedure TfrmAlbaranes.txtDescuentoKeyPress(Sender: TObject; var Key: Char);
begin
MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
if (key=#13) then
begin
frmAlbaranes.SpeedButton1.Click;
codigo.MostrarError('He mostrado una itro');
end
end;


Me captura todas las pulsaciones menos la del INTRO.


A que sera debido eso?
Responder Con Cita
  #8  
Antiguo 27-02-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
Hola!

Es sólo una sugerencia, porque no pones el código en el Evento FormKeyPress del formulario:
Código:
if Key = #13 then
    if txtDescuento.Focused then 
       frmAlbaranes.SpeedButton1.Click;;
Tienes que poner la propiedad KeyPreview del form a True. Ahora que caigo Igual puede ser que no la tuvieras a true y por eso no te funcionaba.

De todas maneras yo lo realizo de la manera que te comentaba arriba y me funciona perfectamente.

Espero que te sirva.

Saludos!
Responder Con Cita
  #9  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Unhappy sigue sin funcionarme

Hola Nuria he hecho lo que tu me has dicho:

procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if txtDescuento.Focused then
frmAlbaranes.SpeedButton1.Click;
end;


Tengo en el evento OnKeyprees del formulario y del txtDescuento y no me funciona me captura todas las teclas menos la del intro y no se por que puede ser!


Ademas lo habia puesto en el keyprees del txtDescuento por costumbre ya que yo vengo del VB.


SALUDOS!!
Responder Con Cita
  #10  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
pongo esto y ahora no me captura el evento

procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char);

begin
if Key = #13 then
if txtDescuento.Focused then
begin
MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
frmAlbaranes.SpeedButton1.Click;
end;
end;

Ademas me he asegurado que la propiedad KeyPreview del formulario esta a true.
Responder Con Cita
  #11  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
es el intro !!

Sin embargo si pongo esto:


procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char);
begin
MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);

if Key = #13 then
if txtDescuento.Focused then
frmAlbaranes.SpeedButton1.Click
end;


Me captura todos las teclas MENOS EL INTRO
Responder Con Cita
  #12  
Antiguo 27-02-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
Cuando pulsas intro, que valor tiene Key?
Responder Con Cita
  #13  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
No Me Sale Nada!!

Es que no sale ni siquiera ningun valor, se lo salta, incluso si pulso la tecla Backspace me sale algo parecido a un cuadrado pero si pulso intro NO ME SALE NADA!!
Responder Con Cita
  #14  
Antiguo 27-02-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Acabo de probar lo siguiente.

Propiedad del formulario KeyPreview a true y

Código:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  ShowMessage('lolo');
end;
y pulsando el Intro me salta
Responder Con Cita
  #15  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
tio esto es de expediente x

Pues yo tengo esto:

procedure TfrmAlbaranes.FormKeyPress(Sender: TObject; var Key: Char);
begin
MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
ShowMessage('lolo');
end;


Lo he puesto para probarlo tal y como tu me dices,

la propiedad Keypreview del formulario frmAlbaranes a TRUE y si pulso cualquier tecla me funciona al pelo:

ejemplo: pulso 2 y me sale :

2 has been pressed y despues 'lolo'.

Pero si pulso el intro se lo pasa por los cojones, puede ser que sea alguna propiedad que he tocado por ahi?.

aunque no creo. voy a reiniciar!!.


P.D. Uso windows 2000 aunque creo que eso tendra que ver mas bien poco.
Responder Con Cita
  #16  
Antiguo 27-02-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
Lo he vuelto a probar :

Con la propiedad del form KeyPreview = True.

Código:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  showmessage('Pulsado Tecla');
  if Key = #13 then
    showmessage('Tecla Enter');
end;
Si que me detecta que la tecla que he pulsado es un intro. No sé que te puede estar pasando .
Responder Con Cita
  #17  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Puede ser por estar en un portatil.-.

vamos a ver, he reiniciado y esto no chuta vamos a ver:


Me hace pensar una cosa maquiavelica, tengo un portatil....Osea que estoy en un portatil mi pregunta es la siguiente:

¿Tendra algo que ver?, por que claro todas las demas teclas me las coge, a ver si es un codigo raro.
Por que desde luego tengo que probarlo en un fijo.


No se que pensar claro!!
Responder Con Cita
  #18  
Antiguo 27-02-2004
ronson ronson is offline
Miembro
 
Registrado: feb 2004
Posts: 100
Poder: 21
ronson Va por buen camino
Angry Bingooooooooooooooo

Lo sabia, es por la puta mierda de portatil, que puta rabia, si pulo MAY+INTRO ese es el caracter #13, que puta rabia de verdad!! Con razon ya me podia volver loco.


Para que lo sepais mi portatil es un ADL SmartBook. ME cago en la puta....



QUE GRANGRENA:
Responder Con Cita
  #19  
Antiguo 27-02-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 21
Nuria Va por buen camino
No sé si tiene algo que ver que estés trabajando en el portatil. Lo que si te digo es que cuando pulso intro y muestro el valor de Key, no tengo ningún valor en el mensaje que muestro por pantalla. Pero me detecta que es #13 (tecla enter).
Responder Con Cita
  #20  
Antiguo 14-12-2004
tutuk tutuk is offline
Miembro
 
Registrado: may 2003
Posts: 42
Poder: 0
tutuk Va por buen camino
hola a mi me pasa lo mismo, si el componente es tedit solo me pasa al siguiente si presiono shit+Enter, tengo delphi 6
y tengo un teclado Millenniun (uno negro con funciones especiales),

¡Será el teclado?
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 06:32:55.


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