Foros del Web » Programación para mayores de 30 ;) » Programación General »

Emitir BEEP en la bocina interna del pc desde lenguaje C?

Estas en el tema de Emitir BEEP en la bocina interna del pc desde lenguaje C? en el foro de Programación General en Foros del Web. Buenas amigos, yo necesito que me ayuden con algo parecido (si no es mucha molestia ;), necesito que cuando el usuario oprima una tecla que ...
  #1 (permalink)  
Antiguo 16/04/2003, 16:36
 
Fecha de Ingreso: diciembre-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Mensaje Emitir BEEP en la bocina interna del pc desde lenguaje C?

Buenas amigos, yo necesito que me ayuden con algo parecido (si no es mucha molestia ;), necesito que cuando el usuario oprima una tecla que no esta permitida, la bocina interna del computador haga el famoso BEEP, pero lo necesito en lenguaje C, aqui les va el codigo de fuente:

Código PHP:

#include <iostream.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>

void key_trap(int n_maxchar tipoint x1int y1char mensaje)

{
    
    
/*gotoxy (x1,y1);*/
    
char l;
            
    if (
tipo=='x' || tipo=='X')
    {
    while (
n_max!=0)
        {
        
l=getch();
                {
                
printf("%c",l);
                
n_max--;
                }
        }
    }
    
    if (
tipo=='c' || tipo=='C')
    {
    while (
n_max!=0)
        {
        
l=getch();
        if (
isalpha(l))
                {
                
printf("%c",l);
                
n_max--;
                }
        else {
void beep();}
        }
    }
        
    if (
tipo=='n' || tipo=='N')
    {
    while (
n_max!=0)
        {
        
l=getch();
        if (
isdigit(l))
                {
                
printf("%c",l);
                
n_max--;
                }
        else {
void beep();}
        }
    }
        
    if (
tipo=='f' || tipo=='F')
    {
    while (
n_max!=0)
        {
        
l=getch();
        if (
isdigit(l) || isalpha(l))
                {
                
printf("%c",l);
                
n_max--;
                }
        else {
void beep();}
        }
    }
    
printf("%c",mensaje);
    return;


/**ESTE ES EL CODIGO**/
void beep()

{

char command[6] = "ECHO ";
command[5] = 7;
system(command);
return;

}
/**QUE ME ESTA DANDO PROBLEMAS**/

Código PHP:
main()

{
    
    
int maxchar,xsu1,ysu1;
    
char opcion;
    
char msj;
    
maxchar = (20);xsu1 = (10);ysu1 = (10);opcion 'N';msj 'Test';
    
key_trap(maxcharopcionxsu1ysu1msj);
    
getch();
    

La parte que se encuentra en rojo, que es la funcion que deberia emitir el BEEP es lo que me hace falta, he intentado lo que esta ahi, que es lo he conseguido en internet, pero nada de nada,la bocina interna del pc no emite ningun sonido.

Aparentemente existe un comando que es: sound(interval), pero no me funciona.

si alguien me puede dar mas informacion sobre el comando sound() se lo agradeceria.

Les agradezco su ayuda.
Muchas Gracias.
  #2 (permalink)  
Antiguo 16/04/2003, 19:19
 
Fecha de Ingreso: septiembre-2001
Mensajes: 552
Antigüedad: 23 años, 2 meses
Puntos: 0
Has intentado imprimiendo un "\a" ?

Saludos,
  #3 (permalink)  
Antiguo 16/04/2003, 21:22
 
Fecha de Ingreso: diciembre-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias por su respuesta Sr. Ricardo, me podria decir como ejecuto eso:

Ya probe de dos formas, entre una de ellas esta y nada:
printf("\a");

Gracias y espero su respuesta... Disculpe si es obvio lo que me quiere decir.
  #4 (permalink)  
Antiguo 16/04/2003, 22:03
Avatar de Max13  
Fecha de Ingreso: octubre-2000
Ubicación: Mx
Mensajes: 1.229
Antigüedad: 24 años
Puntos: 0
También esta la función sound, la cual emite un sonido a la frecuencia dada, es creo que mas o menos así;

sound(4000);

Emitira un sonida en una frecuenca de 4000 Hertz
  #5 (permalink)  
Antiguo 16/04/2003, 22:08
 
Fecha de Ingreso: diciembre-2002
Mensajes: 12
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias por tu respuesta Max13, yo ya habia probado con ese comando y no tuve suerte, ni siquiera me compila, me dice lo siguiente, como si no lo reconociera:

75 C:\Dev-Cpp\dre.cpp
`sound' undeclared (first use this function)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:33.