| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Hvordan laver man en MFC Alarm Application
    Hvis du ønsker en alarm program, så du kan huske at udføre en bestemt opgave på et bestemt tidspunkt , tænke på at bruge Visual C + +. Dens alarm delsystem " alarm.h " er designet til at håndtere alarmer baseret på operativsystemet ur. MFC alarm_proc funktion pointer kan vikles ind medlem funktioner i et CAlarm klasse. Derefter en CSchedule klasse kan styre CAlarm objekter for at gøre din ansøgning funktionel. Ting du har brug
    En IDE såsom Visual Studio. NET 2005
    Vis Flere Instruktioner
    1

    Forstå alarm_proc funktion pointer , der er kernen i programmet. Det accepterer som parametre gennemførelsestid for alarm og en alarm -id eller alarm håndtag værdi. Her er dens prototype : typedef void ( * alarm_proc ) ( int tid , int alarm_id ),
    2

    Put alarm_proc ind i en klasse , CAlarm , for at give det instrukser . Medlemsvirksomhederne funktioner CAlarm vil repræsentere simple opgaver såsom aktivere , deaktivere, sætte en tid og meget mere. Her er et forslag om, hvordan man kunne implementere CAlarm : class CAlarm
    {
    offentlige
    : Hej typedef void ( * alarm_proc ) (); Twitter //opretter en alarm
    CAlarm ( const ctime & tid alarm_proc brand) : mtime (tid) mEnabled (sand) {
    mAlarm_proc = brand,
    }
    ~ CAlarm () { }
    void setTime ( const ctime & tid) {
    mtime = tid
    }
    const ctime & getTime () const {
    tilbagevenden mtime ,
    }
    bool isEnabled () const {
    tilbagevenden mEnabled ;
    }
    void brand ( ) const {
    mAlarm_proc ();
    }
    void deaktivere () {
    mEnabled = false;
    }
    void aktivere ( ) { < br > mEnabled = true;
    }
    beskyttet
    : Hej bool mEnabled ,
    ctime mtime ,
    foranderlig alarm_proc mAlarm_proc ,
    };
    3

    Design en CScheduler klasse til at manipulere CAlarm objekter. Som minimum bør det gøre, hvad en typisk stopur gør. Det vil sige, bør den begynde en løkke , stoppe en løkke og nulstillet, men også tilføje en alarm , fjerne en alarm og så videre . Følgende er et forslag til en CScheduler klasse. Kun de offentlige medlem funktioner ( klasse interfaces) vises. Implementering hvert medlem funktion efterlades som en øvelse for programmøren : class CScheduler
    {
    offentlige
    : Hej CScheduler ();
    ~ CScheduler ();
    void AddAlarm ( int håndtag , const ctime & tid CAlarm :: alarm_proc brand) ,
    void RemoveAlarm ( int håndtag ),
    const CAlarm * Alarm ( int håndtag) const ;
    CAlarm * Alarm ( int håndtag) ; < br > void StartLoop ();
    void StopLoop ();
    bool IsRunning () const ;
    void Reset ();
    private
    : Hej //< br > beskyttet
    : Hej //
    };
    4

    Brug en MFC Cmap klasse til at gemme CAlarm objekter i CScheduler klassen. En Cmap array er fremragende til hurtig indeksering og tilføje /slette operationer. Sæt Cmap variabel i "beskyttet " access id for det CScheduler klassen. Her er hvad det ser ud : class CScheduler {
    offentlige
    : Hej //
    beskyttet
    : Hej Cmap mAlarms ,
    };
    5

    oprette en funktion , der hele tiden gentager gennem Cmap objekter ( CAlarms ) og, hvis man skal blive henrettet , udfører det . Gør det til en ven, og sætte det i "beskyttet " i CScheduler under mAlarms . Dens forenklet gennemførelse kan være som følger: int gentage ( CSchedule * pSchedule ) {
    Pos ,
    int ID ,
    CAlarm * pAlarm ,
    ctime tid
    while ( pSchedule -> isRunning ( )) {
    if ( pSchedule -> mAlarms.IsEmpty () )
    fortsætter ,
    tid = ctime :: GetCurrentTime ();
    pos = pSchedule -> mAlarms.GetStartPosition (); < br >, mens ( pos! = NULL) {
    pSchedule -> mAlarms.GetNextAssoc (POS , ID, pAlarm ),
    if ( pAlarm -> getTime () if ( pAlarm -> isEnabled () )
    pAlarm -> brand ();
    pAlarm -> setTime ( pAlarm -> getTime ());
    delete pAlarm ,
    }
    }
    }
    tilbagevenden 0;
    }
    6

    Brug CScheduler klasse i en MFC applikation. den vil ikke køre andre steder. Tilsæt CScheduler og CAlarm cpp og h -filer til dit projekt. Lav en instans af CSchedule klasse i din ansøgning. og selvfølgelig , så glem ikke at kalde gentage ().

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan man kompilerer C i Ubuntu 
    ·Hvad Er Visual C Regioner 
    ·Hvad er en EOF i C Language 
    ·Sådan Find størrelsen af ​​en char array , som har en…
    ·Sådan at åbne flere filer til Input & Output i C + + 
    ·Microsoft C + + Tutorials 
    ·Hvordan til at returnere en Vector Fra en funktion 
    ·GNU & C + + til computere 
    ·Hvordan man kompilerer en CPP på DOS 
    ·Hvordan man skriver koden til iPhone 
      Anbefalede Artikler
    ·Fordele & Ulemper ved High- & Low - Level Sprog 
    ·Sådan fjernes dubletter fra en ArrayList 
    ·Hvordan man laver et lotteri spil Brug C + + 
    ·Sådan Tæl antallet af bogstaver i en streng i VB6 
    ·Hvordan læser man en IIS Log File 
    ·Hvordan man kompilerer PHP til Windows GUI 
    ·Sådan bruges VB til at Skriv en computer navn til en t…
    ·Hvorfor en Infinite Loop Forekommer 
    ·Visual Basic Tegning Tutorial 
    ·Sådan Set Up formulargodkendelsens 
    Copyright © Computer Viden http://www.computerdk.com