| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    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 ().

    Previous :

    next :
      articles connexes
    ·Comment faire pour créer des applications pour Windows…
    ·Les avantages de prototypes de fonctions 
    ·Comment faire pour utiliser le contrôle de votre page …
    ·Comment ouvrir un fichier PDF en C # 
    ·Comment identifier un utilisateur Windows doté ASP 
    ·Comment stocker une entrée dans un vecteur 
    ·Comment écrire un programme qui permet d'imprimer des …
    ·Comment faire pour utiliser des objets 2D en RPC 
    ·Comment cacher un bouton de commande dans Visual C 
    ·Comment retourner un vecteur STL d'une nouvelle fonctio…
      articles en vedette
    ·Comment résoudre l' IP en Python 
    ·Comment lire et écrire des fichiers texte avec Visual …
    ·Index erreurs non identifiées dans PHP 
    ·Comment détecter un événement avec WIA Wait 
    ·Comment changer une grille 
    ·Comment générer une chaîne de longueur variable en J…
    ·Comment formater un Integer en Java 
    ·Comment faire pour convertir une variable de chaîne à…
    ·Comment faire pour supprimer la première lettre d'une …
    ·Comment masquer une colonne De FlexGrid dans Visual Bas…
    Copyright © Connaissances Informatiques http://fr.wingwit.com