Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
  Derniers articles
  • Comment créer des paquets TCP /IP d…
  • Comment faire pour convertir des num…
  • Comment faire pour convertir INT à …
  • Comment exploiter un compilateur Vis…
  • Comment ignorer les espaces lors de …
  • Comment calculer la longueur de la c…
  • Comment utiliser les ports COM dans …
  • L'utilisation d'un constructeur par …
  • Comment utiliser le Microsoft Visual…
  • Comment rechercher une liste chaîné…
  •   C /C + + Programming
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    C /C + + Programming

    Comment faire une demande d'alarme MFC

    Si vous voulez une application d'alarme afin que vous puissiez penser à effectuer une tâche particulière à certains moments , pensez à l'aide de Visual C + + . Son sous-système d'alarme " alarm.h " est conçu pour gérer des alarmes basées sur l'horloge du système d'exploitation. Le alarm_proc pointeur de fonction MFC peut être enroulé à l'intérieur des fonctions membres d'une classe CAlarm . Puis une classe de CSchedule peut gérer des objets CAlarm pour rendre votre application fonctionnelle . Les choses dont vous aurez besoin
    Un IDE tel que Visual Studio. NET 2005
    Show More Instructions
    1

    comprendre le pointeur de fonction alarm_proc qui est au cœur du programme. Elle accepte comme paramètres le temps d'exécution de l'alarme et une identification de l'alarme ou de la valeur de la poignée d'alarme. Voici son prototype: typedef void (* alarm_proc ) ( int temps , int alarm_id ) ; Page 2

    Mettez alarm_proc dans une classe , CAlarm , pour lui donner des instructions . Les fonctions de membres du CAlarm représenteront tâches simples telles que activer, désactiver , en fixant un temps et plus . Voici une suggestion sur la façon dont vous pourriez mettre en œuvre CAlarm : classe CAlarm
    { publique
    : typedef void (* alarm_proc ) ();
    //crée une alarme
    CAlarm (const CTime et heure, alarm_proc feu ) : mTime (temps) , mEnabled ( true) {
    mAlarm_proc = feu ;
    }
    ~ CAlarm () { }
    vide setTime (const CTime et heure) {
    mTime = temps ; }

    const CTime & getTime () const {
    mTime de retour; }

    bool isEnabled () const {
    retour mEnabled ;
    } of Fire void () const {
    mAlarm_proc (); }

    vide désactiver () {
    mEnabled = false; }

    vide permettre () { < br > mEnabled = true; }
    protégé
    : bool mEnabled ;
    mTime de CTime ;
    mutable alarm_proc mAlarm_proc ;
    };
    3

    Concevoir une classe CScheduler pour manipuler des objets CAlarm . Au minimum , il faut faire ce que d'un chronomètre typique fait. Autrement dit, il doit commencer une boucle, un arrêt de boucle et remis , mais aussi ajouter une alarme, supprimer une alarme et ainsi de suite . Voici une suggestion pour une classe CScheduler . Seules les fonctions membres publiques ( interfaces de classe ) sont affichés. La mise en œuvre de chaque fonction membre est laissé comme exercice pour le programmeur : classe CScheduler
    { publique :
    CScheduler ();
    ~ CScheduler ();
    vide AddAlarm (int poignée , const & CTime temps, CAlarm :: alarm_proc incendie) ;
    vide RemoveAlarm (int handle);
    const CAlarm * Alarme (int poignée) const ;
    CAlarm * Alarme (int handle);
    StartLoop void ();
    vide StopLoop ();
    IsRunning bool ( ) const ;
    void Reset (); privé
    : //< br > protégé
    : //
    };
    4

    utiliser une classe de CMap MFC pour stocker les objets CAlarm dans la classe CScheduler . Un tableau CMap est excellent pour l'indexation rapide et ajouter /supprimer des opérations. Mettez la variable CMap dans l'identificateur d'accès "protégé" de la classe CScheduler . Voici à quoi il ressemble : classe CScheduler { publique
    : // protégé :
    CMap mAlarms ;
    };
    5

    créer une fonction qui parcourt sans cesse à travers les objets CMap ( CAlarms ) et , si on a besoin d' être exécutées , l'exécute. Faites-en à un ami et de le mettre en "protégé" dans CScheduler , sous mAlarms . Sa mise en œuvre simplifiée peut être comme suit : int Iterate ( CSchedule * pSchedule ) {
    position POS ;
    int ID ;
    CAlarm * pAlarm ;
    temps CTime ;
    while ( pSchedule -> enFonctionnement ()) {
    if ( pSchedule -> mAlarms.IsEmpty ())
    continuer ;
    temps = CTime :: GetCurrentTime ();
    pos = pSchedule -> mAlarms.GetStartPosition ();
    while ( pos! = NULL) {
    pSchedule -> mAlarms.GetNextAssoc (pos , ID, pAlarm ) ;
    if ( pAlarm -> getTime () if ( pAlarm -> isEnabled ())
    pAlarm -> feu ();
    pAlarm -> setTime ( pAlarm -> getTime ());
    suppression pAlarm ;
    }
    } }

    return 0;
    }
    6

    Utilisez la classe CScheduler dans une application MFC . Cela ne fonctionnera pas ailleurs. Ajouter le CScheduler et CAlarm cpp et h fichiers à votre projet. Faire une instance de la classe CSchedule dans votre application. et , Bien sûr , n'oubliez pas d' appeler Iterate ().

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Comment faire pour utiliser l'outil Calculer pour le RPC 
  • Comment faire pour supprimer tous les non- entiers d'une chaîne 
  • Comment maîtriser C Pointers 
  • Comment faire une application iPhone Really Simple 
  • Comment convertir un flottant à cordes en C + + 
  • Types de données ANSI C 
  • Comment faire un rebond de l'objet en C # 
  • Comment calculer Sin Avec Power Series en C + + 
  • Comment utiliser des pointeurs de fonction en C + + 
  • Comment faire pour créer une DLL # Bibliothèque de classes C aide de Visual Studio Net 
  • Connaissances Informatiques © http://www.ordinateur.cc