| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come fare un allarme Applicazione MFC
    Se si desidera un'applicazione di allarme in modo che si possa ricordare di eseguire un particolare compito ad una certa ora , pensare di utilizzare Visual C + + . Il suo sottosistema di allarme " alarm.h " è progettato per gestire gli allarmi in base all'orologio di sistema operativo . Il alarm_proc puntatore a funzione MFC può essere avvolto all'interno di funzioni membro di una classe CAlarm . Poi una classe CSchedule in grado di gestire gli oggetti CAlarm per rendere l'applicazione funzionante . Cose che ti serviranno
    Un IDE come Visual Studio . NET 2005
    Mostra più istruzioni
    1

    capire il puntatore a funzione alarm_proc che è al centro del programma . Si accetta come parametri il tempo di esecuzione di allarme e un ID di allarme o di valore di handle di allarme . Ecco il suo prototipo : typedef void ( * alarm_proc ) (int tempo , int alarm_id ) ;
    2

    Mettere alarm_proc in una classe , CAlarm , per dargli istruzioni . Le funzioni membro di CAlarm rappresenteranno compiti semplici come attivare, disattivare l'impostazione di un tempo e di più . Ecco un suggerimento su come si potrebbe implementare CAlarm : class CAlarm
    {
    pubblico
    : typedef void ( * alarm_proc ) ();
    //crea un
    allarme CAlarm ( const CTime e ora , alarm_proc fuoco ) : mTime (tempo) , mEnabled (true ) {
    mAlarm_proc = fuoco ;
    }
    ~ CAlarm ( ) { }
    vuoto setTime ( const CTime e ora) {
    mTime = tempo ;
    }
    const CTime & getTime ( ) const {
    mTime return; }

    isEnabled bool ( ) const {
    ritorno mEnabled ;
    }
    vuoto fuoco ( ) const {
    mAlarm_proc (); }

    vuoto disable ( ) {
    mEnabled = false; }

    vuoto abilitare ( ) { < br > mEnabled = true ; }

    protetto
    : bool mEnabled ;
    CTime mTime ;
    mutevole alarm_proc mAlarm_proc ;
    } ;
    3

    Progettare una classe CScheduler per la manipolazione di oggetti CAlarm . Come minimo , si deve fare ciò che un tipico cronometro fa. Che è, dovrebbe iniziare un ciclo, un ciclo fermata e riportata, ma anche aggiungere un allarme , rimuovere un allarme e così via . Di seguito è riportato un suggerimento per una classe CScheduler . Vengono visualizzate solo le funzioni membro pubbliche ( interfacce di classe ) . Attuazione di ciascuna funzione membro è lasciata come esercizio per il programmatore : classe CScheduler
    {
    pubblico
    : CScheduler ();
    ~ CScheduler ();
    vuoto AddAlarm (int handle , const CTime e ora , CAlarm :: alarm_proc fuoco ) ;
    vuoto RemoveAlarm ( int handle ) ;
    const CAlarm * Alarm ( int handle ) const ;
    CAlarm * Alarm ( int handle ) ;
    vuoto StartLoop ();
    vuoto StopLoop ();
    IsRunning bool ( ) const ;
    void Reset ();
    privato
    : //< br > protetto
    : //Games } ;
    4

    utilizzare una classe CMap MFC per memorizzare gli oggetti CAlarm nella classe CScheduler . Un array di CMap è eccellente per l'indicizzazione rapida e aggiungere /eliminare le operazioni . Mettere la variabile CMap nel identificativo di accesso "protetto" della classe CScheduler . Ecco come si presenta : class CScheduler {
    pubblico
    : //Games protetto
    : CMap mAlarms ;
    } ;
    5

    Creare una funzione che consente di scorrere continuamente attraverso gli oggetti CMap ( CAlarms ) e, se si ha la necessità di essere eseguiti , lo esegue. Ne fanno un amico e metterlo in "protetto" in CScheduler , sotto mAlarms . La sua attuazione semplificata può essere la seguente : int Iterate ( CSchedule * pSchedule ) {
    posizione Pos ;
    int ID ;
    CAlarm * pAlarm ;
    tempo CTime ;
    mentre ( pSchedule - > IsRunning ( ) ) {
    se ( pSchedule - > mAlarms.IsEmpty ( ) ) per continuare ;
    tempo = CTime :: GetCurrentTime ();
    pos = pSchedule - > mAlarms.GetStartPosition ( ) ;
    mentre ( pos! = null) {
    pSchedule - > mAlarms.GetNextAssoc (pos , ID , pAlarm ) ;
    se ( pAlarm - > getTime ( ) if ( pAlarm - > isEnabled ( ) ) per pAlarm - > fuoco ();
    pAlarm - > setTime ( pAlarm - > getTime ());
    delete pAlarm ;
    } }


    } return 0;
    } Pagina 6

    Utilizzare la classe CScheduler in un'applicazione MFC . non funzionerà altrove. Aggiungere il file h CScheduler e CAlarm cpp e al progetto. Fai un'istanza della classe CSchedule nell'applicazione. ed , Naturalmente , non dimenticate di chiamare iterate ( ) .

    Previous :

    next :
      Articoli Correlati
    ·Come modificare INT a un oggetto in C + + 
    ·Come inviare l'output a un file FIFO 
    ·Come eseguire il debug C + + Tag 
    ·Come Loop Riempire un array a 2 dimensioni in C + + 
    ·Specifiche di UML a C + + 
    ·MFC ActiveX Tutorial 
    ·Come scrivere una istruzione case in C + + 
    ·Come fare una matrice di stringhe 
    ·Come risolvere R6025 Chiamata funzione virtuale pura 
    ·Come creare un BlogSkin per Blogger 
      Articoli in evidenza
    ·Come fare un file VSH 
    ·Come configurare proxy file PAC 
    ·Size & MaxLength Proprietà di una TextBox 
    ·Python non è corrispondente ad una stringa 
    ·Definizione di COBOL Comp -3 
    ·Come disegnare un diagramma di flusso per i CSS Gerarch…
    ·Come salvare i dati in Unbound DataGridView a un server…
    ·Come nascondere le ore non lavorate in un calendario di…
    ·Come programmare Sudoku 
    ·Come aggiornare DIV 
    Copyright © Conoscenza Informatica http://it.wingwit.com