FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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 :. |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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 |
#5
|
|||
|
|||
a mi me funciona
nombreboton.click.
tan simple como esto.
__________________
frenadol |
#6
|
|||
|
|||
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? |
#7
|
|||
|
|||
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? |
#8
|
||||
|
||||
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;; De todas maneras yo lo realizo de la manera que te comentaba arriba y me funciona perfectamente. Espero que te sirva. Saludos! |
#9
|
|||
|
|||
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!! |
#10
|
|||
|
|||
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. |
#11
|
|||
|
|||
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 |
#12
|
||||
|
||||
Cuando pulsas intro, que valor tiene Key?
|
#13
|
|||
|
|||
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!!
|
#14
|
|||
|
|||
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; |
#15
|
|||
|
|||
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. |
#16
|
||||
|
||||
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; |
#17
|
|||
|
|||
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!! |
#18
|
|||
|
|||
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: |
#19
|
||||
|
||||
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).
|
#20
|
|||
|
|||
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? |
|
|
|