“Conocimientos Programación>C /C + + Programming

Cómo hacer una aplicación de alarma MFC

2015/12/22
Si quieres una aplicación de alarma para que pueda recordar para realizar una tarea determinada en un momento determinado , pensar sobre el uso de Visual C + + . Su subsistema de alarma " alarm.h " está diseñado para manejar alarmas basadas en el reloj del sistema operativo. El alarm_proc puntero de función MFC se puede envolver dentro de las funciones miembro de una clase CAlarm . A continuación, una clase CSchedule puede administrar objetos CAlarm para que su aplicación funcional . Cosas que necesitará
un IDE como Visual Studio. NET 2005
Ver Más instrucciones
1

entender el puntero de función alarm_proc que está en el corazón del programa . Se acepta como parámetros el tiempo de ejecución de la alarma y un ID de la alarma o valor de identificador de alarma . Aquí está su prototipo : typedef void (* alarm_proc ) (int tiempo, int alarm_id ), Página 2

Pon alarm_proc en una clase , CAlarm , para darle instrucciones. Las funciones miembro de CAlarm representarán tareas simples tales como activar, desactivar , establecer una hora y más. He aquí una sugerencia de cómo se podría implementar CAlarm : Clase CAlarm CaribbeanCupid.com {
pública
: typedef void (* alarm_proc ) ();
//crea un
alarma CAlarm (const CTime y hora, alarm_proc fuego) : mtime (tiempo) , mEnabled (true ) {
mAlarm_proc = fuego ;
} IMVU: ~ CAlarm () { } void
setTime (const CTime y hora ) {
MTime = tiempo ;
}
const CTime y getTime ( ) const {
MTime return; }

bool isEnabled ( ) const {
regreso mEnabled ;
}
void fuego ( ) const {
mAlarm_proc (); }

void desactivar ( ) {
mEnabled = false; }

void activar ( ) {
mEnabled = true; }

protegida
: bool mEnabled ;
MTime CTime ;
mutable alarm_proc mAlarm_proc ;
} ;
3

Diseño de una clase CScheduler para manipular objetos CAlarm . Como mínimo , se debe hacer lo que hace un reloj típico parada. Es decir, se debe iniciar un bucle , una parada de bucle y restablece , sino también añadir una alarma , eliminar una alarma y así sucesivamente . A continuación se presenta una sugerencia para una clase CScheduler . Sólo se muestran las funciones miembro públicas ( interfaces de clase ) . Implementación de cada función miembro se deja como ejercicio para el programador : Clase CScheduler CaribbeanCupid.com {
pública
: CScheduler (); IMVU: ~ CScheduler ();
void AddAlarm (int mango , const CTime y hora, CAlarm :: alarm_proc fuego) ;
RemoveAlarm void (int handle) ;
const CAlarm * Alarma const (int handle) ;
CAlarm * Alarma (int mango) ;
StartLoop void ();
StopLoop void ();
IsRunning bool ( ) const ;
void Reset ();
privada :
//
protegida
: //foto } ; página 4

Usar una clase CMAP MFC para almacenar los objetos CAlarm en la clase CScheduler . Una matriz CMAP es excelente para la indexación rápida y añadir /eliminar las operaciones . Ponga la variable Cmap en el identificador de acceso "protegido " de la clase CScheduler . Esto es lo que parece: clase CScheduler {
pública
: //foto protegida
: CMAP mAlarms ;
} ;
5

Crear una función que se repite continuamente a través de los objetos Cmap ( CAlarms ) y, si se necesita para ser ejecutados , lo ejecuta. Que sea un amigo y lo puso en " protegida" en CScheduler , bajo mAlarms . Su implementación simplificada puede ser la siguiente: Iterar int ( CSchedule * pSchedule ) {
posición pos ;
int ID ;
CAlarm * pAlarm ;
tiempo CTime ;
while ( pSchedule -> isRunning ()) {
if ( pSchedule -> mAlarms.IsEmpty ( ))
continuar ;
tiempo = CTime :: GetCurrentTime ();
pos = pSchedule -> mAlarms.GetStartPosition ();
while ( pos! = NULL ) {
pSchedule -> mAlarms.GetNextAssoc (pos , ID, pAlarm ) ;
if ( pAlarm -> getTime () si ( pAlarm -> isEnabled ( ))
pAlarm -> Fuego ();
pAlarm -> setTime ( pAlarm -> getTime ());
delete pAlarm ;

} } }

return 0;
} Página 6

Utilice la clase CScheduler en una aplicación MFC . no se ejecutará en otro lugar. Agregar los archivos h CScheduler y CAlarm cpp y para su proyecto. Haga una instancia de la clase CSchedule en su aplicación. y por supuesto , no se olvide de llamar Iterate ().

C /C + + Programming
Cómo importar modelos en GTK Radiant
Cómo crear una cadena dinámica en C + +
Cómo escribir un programa de Visual C que utiliza una sentencia while y la ficha Secuencia de escape
Cómo evaluar multiplicación booleana en C + +
Cómo hacer un botón que se pulse en C
Longitud de la secuencia Sin Construido en la función en C + +
Cómo convertir y descifrar HTML en una cadena en el iPhone
Un tutorial sobre Microsoft Visual Studio C + +
Conocimientos Informáticos © http://www.ordenador.online