Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Emitir un aviso con un Beep cuando no se escriben datos a traves del teclado (https://www.clubdelphi.com/foros/showthread.php?t=76925)

cmfab 05-12-2011 17:27:00

Emitir un aviso con un Beep cuando no se escriben datos a traves del teclado
 
Hola a todos, cual seria el metodo mas efectivo para emitir un sonido (beep) cuando el usuario pasado x cantidad de segundos no escribe ninguna entrada desde el teclado en ciertos controles de mi aplicación. Gracias por sus atenciones

ecfisa 05-12-2011 18:09:37

Hola.

Creo que podrías hacer algo así:
Código Delphi [-]
implementation
...
const
   SEG = 20;  // Nro de segundos;

procedure TForm1.FormCreate(Sender: TObject);
begin
  KeyPreview:= True;
  Timer1.Interval := SEG * 1000;
  Timer1.Enabled:= True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  MessageBeep(MB_ICONEXCLAMATION);
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Timer1.Enabled:= False; // presiono una tecla, desactivar timer
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Timer1.Enabled:= True;   // soltó la tecla, timer activado
end;

Saludos.

cmfab 05-12-2011 19:19:01

Hola gracias por la respuesta pero se podria hacer que ese sonido se produzca con el buzzer de la placa madre. pues la pc del cliente puede no tener parlantes (speaker). se puede hacer esto ?

ecfisa 05-12-2011 19:27:17

Hola.

Reemplazá la linea:
Código Delphi [-]
   MessageBeep(MB_ICONEXCLAMATION);

Por la función:
Código Delphi [-]
 Windows.Beep(800,500); // valores de frecuencia y duración a tu gusto

Saludos.

cmfab 05-12-2011 20:21:48

Gracias de nuevo, pero sigo con el problema, como es logico el sonido cambia pero lo oigo nada mas cuando tengo los audifonos puesto, si me los quito no se escuha el sonido, será que habra que configurar algo en el setupo de la placa madre ?

thecidmx 05-12-2011 20:35:09

esta conctado e parlante de la placa madre?
 
Puede ser q no este conectado el parlante de la placa madre., algunas pc "modernas" no tienen bocina interna.

cmfab 05-12-2011 20:49:28

Gracias, si no hay otras sugerencias tendre que probar en varias Pcs para ver el efecto que hace

cmfab 05-12-2011 20:57:16

Os comento que ya logre que funcionara en una PC, así que debe ser que la mia no tiene parlantes interno o algo esta desconectado en la placa base. gracias a todos por las atenciones

ecfisa 05-12-2011 22:11:32

Cita:

Empezado por cmfab (Mensaje 420564)
Gracias de nuevo, pero sigo con el problema, como es logico el sonido cambia pero lo oigo nada mas cuando tengo los audifonos puesto, si me los quito no se escuha el sonido, será que habra que configurar algo en el setupo de la placa madre ?

Hola cmfab.

Es extraño, hice la prueba en equipo de escritorio y funciona correctamente. (Para asegurarme hasta deshabilité la placa de sonido)

Si estas trabajando con Windows 95/98/Me, revisá este enlace. De no ser así, la función Beep, hace precisamente eso: "Generates simple tones on the speaker", revisa que tenga el speaker o buzzer, que esté correctamente conectado y que funcione.

Si las pruebas las hiciste en un portátil es probable que obtengas ese comportamiento.

Saludos.

roman 05-12-2011 22:13:22

Perdón por la disgresión: ¿esto es para un juego o en qué clase de dictadura se requiere tal funcionalidad? :eek:

// Saludos

Casimiro Noteví 05-12-2011 22:44:03

Cita:

Empezado por roman (Mensaje 420578)
Perdón por la disgresión: ¿esto es para un juego o en qué clase de dictadura se requiere tal funcionalidad? :eek:
// Saludos

Eso mismo estaba pensando cuando lo he leído, cualquiera diría que es para controlar si los programadores están tecleando o "perdiendo el tiempo pensando".
Como me pasaba en una empresa en la que estuve un tiempo, que, cuando estaba pensando, me habitué a estar pulsando la tecla mayúsculas continuamente y a intervalos irregulares para que pareciese que estaba tecleando, porque en caso contrario, si había silencio de teclas, llegaba el jefe corriendo para ver si me estaba rascando algo, en lugar de "trabajar" :mad:

ecfisa 05-12-2011 23:39:18

Cita:

Empezado por Casimiro Notevi (Mensaje 420580)
Eso mismo estaba pensando cuando lo he leído, cualquiera diría que es para controlar si los programadores están tecleando o "perdiendo el tiempo pensando".
Como me pasaba en una empresa en la que estuve un tiempo, que, cuando estaba pensando, me habitué a estar pulsando la tecla mayúsculas continuamente y a intervalos irregulares para que pareciese que estaba tecleando, porque en caso contrario, si había silencio de teclas, llegaba el jefe corriendo para ver si me estaba rascando algo, en lugar de "trabajar" :mad:

Si esa es la función, aquí no tendría utilidad alguna. Enseguida los empleados trabarían las teclas con un escarbadientes. con goma de mascar o un simple pisapales encima... :D:D:D

Saludos.:)

roman 05-12-2011 23:56:21

Creo que esto viene como anillo al dedo



// Saludos

ecfisa 06-12-2011 00:19:18

Esa también es una buena opción ... :D:D:D

Saludos.

cmfab 06-12-2011 15:42:01

Gracias a todos por sus comentarios pero a modo de explicación les comento que es la exigencia de un cliente en una aplicación, en realidad los motivos los desconozco por que lo desea de esa forma

ecfisa 06-12-2011 17:32:59

Cita:

Empezado por cmfab (Mensaje 420607)
Gracias a todos por sus comentarios pero a modo de explicación les comento que es la exigencia de un cliente en una aplicación, en realidad los motivos los desconozco por que lo desea de esa forma

Creo que todos entendimos que era un requerimiento impuesto y no tu ocurrencia. Lo que divierte es que los clientes suelen pedir cada cosa... Y lo peor viene luego: Reclamar cada cosa... :(


Un saludo. :

thecidmx 06-12-2011 20:27:00

Cita:

Empezado por ecfisa (Mensaje 420616)
Y lo peor viene luego: Reclamar cada cosa... :(

, por q se me hace familiar eso :P, ejejejeje, primero ponle hasta los foquitos de un arbol de navidad, y luego que son muchas luces, jejejejejejeje

Ñuño Martínez 13-12-2011 16:04:38

Ya hay un hilo para las reclamaciones de los clientes y sucesos afines. Hagan uso de él. (Perdón por haberme puesto en Plan Moderador :))

cmfab 05-04-2012 17:08:02

Beep con el Buzzer de la Mother Board
 
Hola a todos. Es interesante que hace algun tiempo puse un hilo con este tema, osea necesitaba hacer sonar el buzzer de la placa base en determinadas acciones de mi aplicación, se me recomendó usar la funcion Windows.Beep, pero hoy al cabo del tiempo me llama el cliente y me dice que esa funcion solo sonaba si existia tarjata de sonido con sus drivers instalados e incluso speaker instalados en la pc donde se ejecuta la aplicacion, lo cual he comprobado hoy en dia. Por eso retoco este tema a ver si alguien me sugiere como puedo hacer para obtener un sonido con cl buzzer de la placa base aunque no tenga speakers ni tarjeta de sonido en la pc. gracias de antemano

ecfisa 05-04-2012 20:19:12

Hola cmfab.

Combiné tu último mensaje con el anterior según el punto [4] de la guía de estilo por tratarse del mismo tema.

Esto es a fin de evitar la duplicación de información, de todos modos el hilo inicial pasará a la cabecera de los temas del foro.
Si deseas que modifique el título, al del último mensaje por que lo consideras mas representativo, hazmelo saber por un mensaje privado y gustoso realizo el cambio.

Saludos. :)


La franja horaria es GMT +2. Ahora son las 07:56:37.

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