| Home  | Otthon  | Hardver  | Hálózat  | Programozás  | Szoftver  | Hibaelhárítás  | Systems  |   
Programozás  
  • C /C + + programozási

  • Computer Programozási Nyelvek

  • Delphi programozási

  • Java programozási

  • JavaScript programozás

  • PHP /MySQL programozás

  • Perl

  • Python programozás

  • Ruby programozási

  • Visual Basics programozás
  •  
    Számítógépes ismeretek >> Programozás >> C /C + + programozási >> Content
    Hogyan készítsünk egy MFC Alarm alkalmazás
    Ha azt szeretné, hogy a riasztást alkalmazást , így emlékszem, hogy egy adott feladat elvégzésének bizonyos időben , gondoljon a Visual C + + . A riasztás alrendszer " alarm.h " célja, hogy kezelje riasztás alapján az operációs rendszer órát. Az MFC alarm_proc függvénymutató lehet csomagolni belül tagfüggvények egy CAlarm osztályban. Aztán egy CSchedule osztály kezelheti CAlarm tárgyakat, hogy az alkalmazás működőképes. Ez az, amire szüksége van
    Az IDE , mint a Visual Studio . NET 2005

    Show More utasítások
    1

    Értse meg a alarm_proc függvénymutató ez a középpontjában a program. Elfogadja paraméterként az átfutási idő , a riasztás és a riasztás vagy riasztás handle értékét. Itt van a prototípusa : typedef void ( * alarm_proc ) ( int idő , int alarm_id )
    2

    Tedd alarm_proc egy osztály CAlarm , hogy ez utasításokat. A tag funkciói CAlarm képviseli egyszerű feladatok , mint például a engedélyezéséhez , tiltsa le , amelyben egy időben , és így tovább. Itt egy javaslat , hogy hogyan lehet végrehajtani CAlarm : class CAlarm
    {
    nyilvános Fénykép:
    typedef void ( * alarm_proc ) ();
    //létrehoz egy riasztási
    CAlarm ( const ctime és idő , alarm_proc tűz) : mtime (idő) mEnabled ( true) {
    mAlarm_proc = tűz
    }
    ~ CAlarm ( ) {}
    void setTime ( const ctime és idő ) {
    mtime = idő ;
    }
    const ctime és getTime ( ) const {
    vissza mtime ;
    }
    bool isEnabled ( ) const {
    vissza mEnabled ;
    }
    void tűz () const {
    mAlarm_proc (); }

    void disable () {
    mEnabled = false;
    }
    void engedélyezése () { < br > mEnabled = true; }

    védett Fénykép:
    bool mEnabled ;
    ctime mtime ;
    változékony alarm_proc mAlarm_proc ,
    } ;
    3.

    Design CScheduler osztály manipulálására CAlarm tárgyakat. A minimum , hogy meg kell csinálni, amit egy tipikus stopper működik . Ez azt jelenti , meg kell kezdeni a hurok , hagyja abba a hurok és állítsa vissza , hanem a hozzá riasztás , távolítsa el a riasztást, és így tovább . Miután egy javaslat a CScheduler osztályban. Csak az állami tagfüggvények (class interfészek) jelennek meg . Megvalósítása minden tag funkció maradt, mint egy gyakorlat a programozó : class CScheduler
    {
    nyilvános Fénykép:
    CScheduler ();
    ~ CScheduler ();
    üres AddAlarm (int handle , const ctime és idő , CAlarm :: alarm_proc tűz) ;
    void RemoveAlarm ( int handle) ;
    const CAlarm * Alarm (int handle) const ;
    CAlarm * Alarm ( int handle ) ; < br > void StartLoop ();
    érvényét StopLoop ();
    bool IsRunning () const ;
    void reset ();
    magán Fénykép:
    //
    védett Fénykép:
    //
    } ;
    4

    egy MFC cmap osztály tárolja a CAlarm tárgyakat a CScheduler osztályban. A cmap array kiválóan alkalmas gyors indexelést , és adjunk hozzá /törlési műveletek . Tegye a cmap változót a " védett " hozzáférési azonosítóját CScheduler osztályban. Itt van, amit úgy néz ki : class CScheduler {
    nyilvános Fénykép:
    //
    védett Fénykép:
    cmap mAlarms ,
    } ;
    5

    Hozzon létre egy függvényt , amely folyamatosan végigmegy a cmap tárgyak ( CAlarms ), és ha az egyik is teljesíteni kell , végrehajtja azt . Legyen egy barátom, és tedd a "védett" az CScheduler alatt mAlarms . Ennek az egyszerűsített végrehajtás, a következők lehetnek : int Iterate ( CSchedule * pSchedule ) {
    Pos ;
    int ID ;
    CAlarm * pAlarm ;
    ctime ,
    while ( pSchedule -> isRunning ( )) {
    if ( pSchedule - > mAlarms.IsEmpty ())
    folytatódik ;
    idő = ctime :: GetCurrentTime ();
    pos = pSchedule - > mAlarms.GetStartPosition ( ) < br > while ( pos! = NULL) {
    pSchedule - > mAlarms.GetNextAssoc ( pos , ID , pAlarm ),
    if ( pAlarm - > getTime ( ) if ( pAlarm - > isEnabled ( ) )
    pAlarm - > tűz ();
    pAlarm - > setTime ( pAlarm - > getTime ());
    törlése pAlarm ;
    }
    }
    }
    return 0 ;
    }
    6

    a CScheduler osztály egy MFC alkalmazás . Ez nem fog futni máshol . hozzá a CScheduler és CAlarm CPP és h fájlokat a projekthez . Készíts egy példányát az CSchedule osztály az alkalmazás . és Persze , ne felejtsd el , hogy hívja Iterate ().

    Previous :

    next :
      Kapcsolódó cikkek
    ·Hogyan olvassuk a CSV fájl a C 
    ·Hogyan kell megjeleníteni sok Oszlopok GridView 
    ·Hogyan írjunk egy programot, amely olvasás String nev…
    ·Hogyan Töltsd ki a C + + Linux 
    ·Hogyan lehet eltávolítani a kitevő Egy Float C + + 
    ·Hogyan lehet mozgatni egy objektumot a fogd a XCode 
    ·Hogyan használjuk oldal Ellenőrző iPhone SDK 
    ·Hogyan Debug memóriavesztés a C + + 
    ·Hogyan adjunk egy attribútum csomópont C # 
    ·Hogyan juthat el a kiválasztott értéket Listbox C 
      Kiemelt cikkek
    ·Mi az Esemény forrása a Java ? 
    ·Hogyan lehet átalakítani a lista , hogy a DataTable 
    ·Hogyan Pen a Fájl VB.NET egy adott alkalmazás 
    ·Hogyan készítsünk egy PHP Chat Room 
    ·MySQL Kezdő Tutorial 
    ·A Substring módszer a Java 
    ·Hogyan használjuk Tesseract OCR Java 
    ·VB.NET Környezet : Betűtípusok és színek 
    ·Hogyan lehet átalakítani idő Strings in Vb.Net 
    ·Hogyan törlése Listbox 
    Copyright © Számítógépes ismeretek http://hu.wingwit.com