Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Hvordan lage en MFC Alarm Application
    Hvis du ønsker en alarm program slik at du kan huske å utføre en bestemt oppgave på visse tidspunkt , tenke på å bruke Visual C + + . Dens alarm delsystemet " alarm.h " er designet for å håndtere alarmer basert på operativsystemet klokke. MFC alarm_proc funksjon peker kan pakkes inni medlem funksjoner i en CAlarm klasse. Deretter en CSchedule klassen klarer CAlarm objekter for å gjøre programmet funksjonelle. Du trenger:
    En IDE som Visual Studio. NET 2005
    Vis flere instruksjoner
    en

    forstå alarm_proc funksjon peker som er i hjertet av programmet. Det aksepterer som parametre utførelsen tiden av og alarm -ID eller alarm håndtak verdi. Her er dens prototype : typedef void ( * alarm_proc ) ( int tid , int alarm_id ) ;
    2

    Sett alarm_proc inn i en klasse , CAlarm , for å gi den instruksjoner . Medlemsorganisasjonene funksjoner CAlarm vil representere enkle oppgaver som å aktivere, deaktivere , sette en tid og mer . Her er et forslag på hvordan du kan implementere CAlarm : class CAlarm
    {
    public :
    typedef void ( * alarm_proc ) (); Twitter //oppretter en alarm
    CAlarm ( const ctime og tid , alarm_proc brann) : mtime (tid ) , mEnabled ( true) {
    mAlarm_proc = brann;
    } product: ~ CAlarm ( ) { }
    void setTime ( const endringsdato og klokkeslett) {
    mtime = tid ;
    }
    const ctime & getTime ( ) const {
    retur mtime ;
    }
    bool isEnabled ( ) const {
    retur mEnabled ;
    }
    ugyldig brann ( ) const {
    mAlarm_proc ();
    }
    ugyldig deaktivere ( ) {
    mEnabled = false;
    }
    ugyldig aktivere ( ) {
    mEnabled = true;
    }
    beskyttet :
    bool mEnabled ;
    ctime mtime ;
    foranderlig alarm_proc mAlarm_proc ;
    };
    3

    Design en CScheduler klasse for å manipulere CAlarm stedene. Som et minimum bør det gjøre hva en typisk stoppeklokke gjør. Det er, bør den starte en loop, stoppe en løkke og nullstille , men også legge til en alarm , fjerne en alarm , og så videre . Følgende er et forslag til en CScheduler klasse. Bare de offentlige medlem funksjoner ( klasse grensesnitt ) er vist . Implementering av hvert medlem funksjon er igjen som en øvelse for programmerer : class CScheduler
    {
    offentlig :
    CScheduler (); product: ~ CScheduler ();
    ugyldig AddAlarm ( int håndtak, const ctime og tid , CAlarm :: alarm_proc brann) ;
    void RemoveAlarm ( int håndtak) ;
    const CAlarm * Alarm ( int håndtak) const ;
    CAlarm * Alarm ( int håndtak) ;
    void StartLoop ();
    void StopLoop ();
    bool IsRunning ( ) const ;
    void Reset ( ) ;
    private Bilde: Twitter //
    beskyttet Bilde: Twitter //
    };
    4

    Bruk en MFC CMap klasse å lagre CAlarm gjenstander i CScheduler klassen . En CMap matrise er utmerket for rask indeksering og legge til /slette operasjoner. Sett CMap variabel i "beskyttet " tilgang identifikator av CScheduler klassen . Her er hva det ser slik ut: class CScheduler {
    offentlige Bilde: Twitter //
    beskyttet :
    CMap mAlarms ;
    };
    5

    Lag en funksjon som stadig gjentas gjennom CMap gjenstander ( CAlarms ) , og hvis man har behov for å bli henrettet , utfører det . Gjør det til en venn, og sette den i "beskyttet " i CScheduler under mAlarms . Dens forenklet gjennomføring kan være som følger : int Iterate ( CSchedule * pSchedule ) {
    Pos ;
    int ID ;
    CAlarm * Palarm ;
    ctime tid,
    while ( pSchedule - > isRunning ( ) ) {
    if ( pSchedule - > mAlarms.IsEmpty ( ) )
    fortsette,
    tid = ctime :: GetCurrentTime ();
    pos = pSchedule - > mAlarms.GetStartPosition ();
    while ( pos! = NULL) {
    pSchedule - > mAlarms.GetNextAssoc ( pos , ID, Palarm ) ;
    if ( Palarm - > getTime ( ) if ( Palarm - > isEnabled ( ) )
    Palarm - > ild ();
    Palarm - > setTime ( Palarm - > getTime ( ));
    slett Palarm ;
    }
    }
    }
    return 0 ;
    }
    6

    Bruk CScheduler klasse i en MFC applikasjon . den vil ikke kjøre andre steder. Tilsett CScheduler og CAlarm cPP og h filer til prosjektet. Lag en forekomst av CSchedule klassen i programmet. and , selvfølgelig , ikke glem å ringe Iterate ( ) .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke Memset funksjon i C + + 
    ·Hvordan lage C Games 
    ·Hvordan lage Volumetric Fog i Open GL 
    ·Slik utfører dynamisk minne allokering i C + + 
    ·Hvordan bruke avmerkingsboksene i MFC 
    ·Typer bufferoverløpet Angrep 
    ·Hvordan lage et prosjekt i Xcode fra en eksisterende ma…
    ·Hvordan skriver jeg en temperatur konvertering program …
    ·Hvordan skrive en C + + program som beregner gjennomsni…
    ·Hvordan bruke Function Maler i C + + 
      Anbefalte artikler
    ·3 - D effekter med JavaScript 
    ·Hvordan få Web Apps med Visual Basic 2010 
    ·Hvordan beregne en sjekksum i VB 
    ·Hvordan kan vi dynamisk Fordele Array Størrelse 
    ·Ulempene ved Ruby programmering 
    ·TypeError i Python 
    ·Hvordan åpne en PDF- skjema Ved hjelp av PHP 
    ·Hvordan endrer jeg navn på filer med en VBS Script 
    ·Hvordan lese en tekstfil i PHP 
    ·Hva er pekere og hvordan de brukes 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/