Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2004
aram2r aram2r is offline
Miembro
 
Registrado: ene 2004
Posts: 81
Poder: 21
aram2r Va por buen camino
Post Bip en un Edit

Hola amigos tengo un problema q es algo molesto, tengo un Edit en un form sin bordes...y lo muestro con un showmodal de modo q parece q solo aparece un Edit ya q el form no se ve....y en el evento OnKeyPress del Edit le he pesto q si pulsas Escape o Intro cierre el form.....pero cada vez q hago esto no se xq hace un Beep...y cuando lo escuchas unas cuantas veces llega a ser molesto...... Xq se produce este Beep? y como puedo evitarlo? El codigo es el siguiente:

Código Delphi [-]
procedure TFormBuscar.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then 
    Close
  else if Key=#27 then
    Close;
end;
Responder Con Cita
  #2  
Antiguo 08-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
El beep es normal cuando se pulsa una tecla de estas en un edit. Para evitarlo, podes asignarle #0 a Key si se trata de una de estas teclas.

La rutina, podria quedar:

Código Delphi [-]
  if Key in [#13, #27] Then
  Begin
    Close;
    Key := #0;
  end;

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 12-03-2010
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Poder: 17
2-D@monic Va por buen camino
Una pregunta sin ánimo de ofender:
para qué la instrucción Close; ?

Bueno, la pregunta es tonta.....
seguro es............

if Key in [#13, #27] Then
Begin
loquequieras;
Key := #0;
end;
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.

Última edición por 2-D@monic fecha: 12-03-2010 a las 07:47:46.
Responder Con Cita
  #4  
Antiguo 12-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Close es para que se cierre el Form que está activo.
Es lo mismo que poner FormAlgo.Close; o Self.Close;
Porque todo lo que uses en ese Form está dentro del Form. Tomalo como una variable global al Form que está activo.

Y volviendo al tema del hilo, a mí nunca me hace ningún beep cuando presiono uno de esos caracteres no imprimibles.
Mirá vos, no sabía que pasaba eso.
Saludos!

Última edición por BrunoBsso fecha: 12-03-2010 a las 19:15:29.
Responder Con Cita
  #5  
Antiguo 12-03-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
A mí me pasa en algunos clientes sí y en otros no... por lo que pensaba que era algo de la configuración del windows
Responder Con Cita
  #6  
Antiguo 12-03-2010
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
Esto debe ser como responder a porqué el pollo cruzó la carretera

// Saludos
Responder Con Cita
  #7  
Antiguo 12-03-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Por qué cruzó el pollo la carretera?


no, no... no respondan por favor
Responder Con Cita
  #8  
Antiguo 12-03-2010
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
Cita:
Empezado por Casimiro Notevi Ver Mensaje
A mí me pasa en algunos clientes sí y en otros no... por lo que pensaba que era algo de la configuración del windows
De hecho, es una configuración del sistema, aunque desconozco dónde se modifica a nivel de usuario y tampoco sé si en algunos sistemas cambia el valor por defecto.

Por código, se cambia la configuración con SystemParametersInfo:

Código Delphi [-]
// Poner el beep
SystemParametersInfo(SPI_SETBEEP, 1, nil, 0);

// Quitar el beep
SystemParametersInfo(SPI_SETBEEP, 0, nil, 0);

Ahora, también puede ser que no escuches el beep porque no haya bocinas

// Saludos
Responder Con Cita
  #9  
Antiguo 12-03-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ignoraba esto (como tantas cosas), me lo guardo.
Responder Con Cita
  #10  
Antiguo 19-03-2010
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por 2-D@monic Ver Mensaje
para qué la instrucción Close; ?
Para que no quede la duda... en el contexto de la pregunta, lo que se pretendía era cerrar y evitar el beep.

Así que (Close is LoQueQueríaQuienPreguntaba) en este Contexto.

Saludos
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 15:46: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