Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    9

    [c] [win32 beep api] come chiamare la funzione beep

    qualcuno hai mai usato questa funzione?
    Ci sono delle librerie da chiamare?
    Ho cercato in rete ma non ho trovato implementazioni per il linguaggio C (ho trovato qualcosa per C++)
    ciao !

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma che vuoi dire?

    La funzione e' la Beep e la puoi usare facilmente a prescindere dal C o dal C++

    codice:
    #include <windows.h>
    
    int main ()
    {
       Beep(1000, 500);
    
       return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    ciao! puoi richiamarla con la libreria <windows.h>

    la funzione se non sbaglio si può utilizzare in almeno 2 modi; uno è con una scrittura simile a

    codice:
    _beep(frequenza, durata)
    l'altra è
    codice:
    Beep(frequenza, durata)
    di quest'ultima ne sono sicuro poichè sto creando un piccolo accordatore(corista)

  4. #4
    cmq io invece ho un altro problema, se qualcuno gentilmente mi può aiutare.
    se metto un valore numerico nella funzione, il programma suona, se metto una variabile con un corrispondente valore numerico non suona, ecco il listato
    codice:
    #include <stdio.h>
    #include <windows.h>
    
    void menu();
    int chose(int);
    
    int main(int argc, char*argv[])
    {
        int a;
        float freq;
        printf("Accordatore v. 1.0\n\n");
        do{
           menu();
           scanf("%d", &a);
           freq=chose(a);
           
           Beep(freq, 10000);
           
        }while(a!=8);
        printf("\nCiao!\n");
        sleep(500);
        return 0;
    }
    
    void menu(){
         printf("\n1) Mi2 82.4Hz 6a corda\n");
         printf("2) La2 110Hz 5a corda\n");
         printf("3) Re3 146.8Hz 4a corda\n");
         printf("4) Sol3 196.0Hz 3a corda\n");
         printf("5) Si3 246.92Hz 2a corda\n");
         printf("6) Mi4 329.6Hz 1a corda\n");
         printf("7) Tutte le corde\n");
         printf("\n8) Esci\n");
         printf("\nOpzione: ");
    }
    
    int chose(a){
        char b;
        float nota;
        switch(a){
                  case '1': printf("Mi2 82.4Hz 6a corda\n");
                       nota=82.4;
                       break;              
                  case '2': printf("La2 110Hz 5a corda\n");
                       nota=110;
                       break;
                  case '3': printf("Re3 146.8Hz 4a corda\n");
                       nota=146.8;
                       break;
                  case '4': printf("Sol3 196.0Hz 3a corda\n");
                       nota=196.0;
                       break;
                  case '5': printf("Si3 246.92Hz 2a corda\n");
                       nota=246.92;
                       break;
                  case '6': printf("Mi4 329.6Hz 1a corda\n");
                       nota=329.6;
                       break;
                  case '7': printf("Tutte le corde\n");
                                       Beep(82.4, 700);
                                       Beep(110, 700);
                                       Beep(146.8, 700);
                                       Beep(196.0, 700);
                                       Beep(246.92, 700);
                                       Beep(329.6, 700);
                  }                    
                                         
                  return nota;
    }
    nonostante il post sia vecchio spero che qualcuno si interessi.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Moderazione

    Originariamente inviato da jamesbomb
    cmq io invece ho un altro problema, se qualcuno gentilmente mi può aiutare.
    [...]
    nonostante il post sia vecchio spero che qualcuno si interessi.
    Non risollevare discussioni vecchie di mesi o anni per postare soluzioni oppure aggiungere nuove domande.

    Leggi il Regolamento.

    Apri una nuova discussione per trattare il tuo problema.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Originariamente inviato da jamesbomb
    codice:
    int chose(a){
        char b;
        float nota;
        switch(a){
                  case '1': printf("Mi2 82.4Hz 6a corda\n");
    La variabile a (che tra l'altro è un intero) contiene il valore in binario, non in ASCII. I case dovrebbero essere:

    case 1
    case 2
    ...

    e non

    case '1'
    case '2'
    ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.