begin process at 2012 05 27 19:36:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date / Heure

 > WINTIMER V.2 [DEV-C++ 4]

WINTIMER V.2 [DEV-C++ 4]


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date / Heure Classé sous :utilitaire, timer, systray, onglet Niveau :Initié Date de création :02/03/2005 Date de mise à jour :01/05/2007 12:12:58 Vu / téléchargé :10 828 / 452

Auteur : faves

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cette source en est à la version 2.
J'avais déjà posté une source de même nom, mais j'ai fait beaucoup de modifications depuis. L'explication de l'ancienne souce n'a donc plus rien avoir avec celle-ci.
(note : l'autre source a été supprimée).

Son utilité:
Il informe l'utilisateur du temps passé sur l'ordinateur pour une journée, ou en fonction du temps écoulé depuis le démarrage d'un ordinateur.
L'utilisateur donne une durée "limite".
Si le temps "limite" est dépassé, il l'avertir par des bips du buzeur de la carte mère, par l'affichage d'un message ou il ne l'avertit pas.

Fonctions API utilisées:
- fonctions gérant la lecture/écriture dans la base des registres
- fonctions gérant les objets des fenêtres
     -> SetWindowText(HWND, const CHAR*)
     -> SetDlgItemText(HWND, int, const CHAR*)
     -> ...
- fonctions gérant l'écriture dans un fichier
- modification de la priorité du processus
- la class WINDOWPLACEMENT
- la class SYSTEMTIME
- la class NOTIFYICONDATA
- GetTickCount()
- la class OPENFILENAME
- les onglets

Utilisation de la source:
D'ABORD exécuter l'utilitaire de configuration du programme.
ENSUITE, vous pouvez exécuter le programme WinTimerv5.exe

En effet, le programme WinTimerv5.exe s'exécute en fonction des paramètres données par l'utilitaire de configuration. Si il ne trouve pas les clés principales (toutes sauf celles de l'enregistrement du temps et de la date), il se ferme après vous avoir avertit qu'il manquait des clés.

Note:
J'utilise la base des registres pour enregistrer les options du timer, parce que, sauvegardées dans la clé HKEY_CURRENT_USER, cela permet de mettre des options différentes pour chaques utilisateurs.


 Conclusion

La prochaine MISE A JOUR :
-> AUCUNE (à part pour la correction de possibles bugs)

BUG:
Encore une fois, un bug apparaît quand on choisit l'option "la durée d'ouverture de Windows" de la rubrique "Timer basé sur". En effet, le log des données risque de ne pas se faire si on choisit d'ouvrir la session concernée après la durée du log précédent.
Exemple :
>Après le démarrage de Windows, on ouvre une session autre que celle où ce programme s'exécute avec cette configuration.
>On attend que GetTickCount() soit supérieur à la durée de la session Windows précédente.
>Puis on retourne sur la session où, cette fois-ci, le log est activé, avec l'option décrite ci-dessus.
=>bug!

REMERCIEMENTS:
Aux membres de CPPFrance et en particulier à:
-> Xentor609 pour gèrer les HWND
-> LordBob pour l'utilisation de la systray
-> BruNews pour l'utilisation des fichiers
-> gagah1 pour la gestion des procédures dans les classes
A CGi (membre de http://www.developpez.com) pour l'utilisation des onglets
-> http://chgi.developpez.com/windows/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 mars 2005 20:14:59 :
Fonctionnalité rajoutée : Possiblité d'afficher ds la systray. Correction du bug de l'alarme grâce à la création d'une autre horloge.
05 mars 2005 20:16:53 :
27 mars 2005 12:29:18 :
Possibilité de logger des infos (pas encore paramétrable), mais seulement pour un Timer basé sur une journée.
23 juin 2005 16:45:55 :
- Correction d'un bug : Lorsque l'utilisateur choisissait l'option "A côté de l'horloge" pour l'apparence de la fenêtre, on ne pouvait pas afficher les infos (fenêtre) en double-cliquant sur l'icon du prog (cf case WM_ACTIVATEAPP où j'ai remplacé "IsWindowVisible(hwnd)" par "!wParam"). - Possibilité de paramétrer l'enregistrement des infos (log). Cela à l'aide d'un nouveau prog de config "ConfigLog.exe". Note: le log ne fonctionne que pour un timer basé sur une journée. - Réorganisation des fichiers *.h
26 juin 2005 18:18:49 :
Possibilité de paramétrer l'enregistrement des infos (log) dans les deux bases de temps (Journalière et Temps écoulé depuis le démarrage). || Correction d'un bug dû au changement de base temporelle durant une même journée (et après avoir redémarrer le prog principal) -> correction dans la fonction 'TimerSave_Log()' du fichier 'WinTimev5.cpp'. || Réorganisation de certains fichiers *.h
27 juin 2005 19:48:32 :
Correction d'un bug d'affichage
27 juin 2005 22:42:38 :
Correction du bug où le programme exécutait deux fois l'action du bouton lorsque l'utilisateur cliquait sur celui-ci.
02 juillet 2005 16:31:41 :
Ajout de la possibilité de voir le chemin complet du fichier log (pour le prog "ConfigLog.exe") en mettant une barre de défilement horizontal.
27 août 2005 19:58:20 :
Ajout de l'option ES_READONLY dans la case où apparaît le nom du fichier log (cf ConfigLog.cpp). Cela permet d'enlever quelques bouts de code.
25 septembre 2005 17:52:30 :
Modification de certains messages d'erreurs.
12 juin 2006 00:49:13 :
Mise des 2 utilitaires dans des onglets || Correction d'un bug d'affichage : Lorsque l'utilisateur choisissait l'option "A côté de l'horloge" pour l'apparence de la fenêtre et que l'exploreur de Microsoft Windows 'bug' (ou se ferme puis s'execute à nouveau), l'icone dans la SysTray disparaît (en réalité, elle n'est pas rechargée) || Ajour de l'utilitaire permettant de 'visualiser' l'évolution du temps passé sur un ordi (en version alpha).
13 juin 2006 02:35:29 :
Allègement de la correction du bug d'affichage décrit le 12/06/2006 : Au lieu de fermer l'application au bout de la seconde tentative de création de l'icon 'systray', on affiche juste un message d'erreur.
13 juin 2006 22:18:23 :
Correction finale du bug d'affichage décrit le 12/06/2006 : Au lieu d'afficher un message d'erreur lors de toutes les tentatives 'ratées' pour modifier l'icone de la SysTray, on demande (au bout de 10 erreurs consécutives) à l'utilisateur si il veut fermer l'application.
03 juillet 2006 16:43:43 :
Version utilisable de l'utilitaire permettant de visualiser le log des données. || correction d'un bug sur l'alarme
03 juillet 2006 16:48:27 :
ajout des executables (*.ex_ à renomer en *.exe) ;-)
30 octobre 2006 01:44:42 :
Ajout du découpage automatique du fichier log par mois | Réorganination des fichiers en objets
09 décembre 2006 18:46:00 :
Correction d'un bug sur le découpage automatique du fichier log par mois
01 mai 2007 12:12:58 :
Correction d'un nouveau bug sur le découpage automatique du fichier log par mois (quand on changeait de mois, le dernier log du mois précédent était mis avec le mois en cours).

 Sources du même auteur

Source avec Zip UN PETIT BLACKJACK (INTERFACE DOS) [DEV-C++ 4]
Source avec Zip JEU : UNE SORTE DE JACKPOT [DEV-C++ 4]

 Sources de la même categorie

DATETIMECONVERTER par guill76
Source avec Zip CLASSE DE DATE LOCALISÉE (20 LANGUES) par exar
Source avec Zip CLASSE MOMENT V2.0 par le_duche
CALCUL DATE DE PAQUES (DATE MOBILE) par steph12358
Source avec une capture VACCATION (AVEC FONCTION) CONSOLERIE, REMIX GCC par sebman

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10
Source avec Zip WINDOWCAPTURE par FrancoisGauthier
Source avec Zip Source avec une capture QXTAPPLICATION - RACCOURCI BLAGUE par shorzy
FILEREADER par FrancoisGauthier
Source avec Zip Source avec une capture ONGLETS MULTICOLORES (WIN32 API) par racpp

Commentaires et avis

Commentaire de faves le 05/03/2005 20:25:16

Utilisation:
J'ai oublié de dire qu'il fallait faire Ctrl+Alt+Suppr pour fermer le programme.
Ce n'est pas un oubli car, son utilité première est de donner le temps passé sur l'ordinateur!
Donc, si on l'arrête avant, le programme ne sert à rien! ;-))

Note: Si vous avez des suggestions, n'hésitez pas!

F@ves

Commentaire de faves le 23/06/2005 17:22:04

Comme je l'ai évoqué plus haut, lorsque l'utilisateur clique sur un bouton, le programme exécute deux fois l'action du bouton.

Exemple bien embêtant : dans le programme de configuration du log "ConfigLog.exe" et en cliquant sur le bouton "...", la fenêtre d'enregistrement du fichier s'affiche. Seulement, après avoir chercher un emplacement bien convenable au fichier qui recevra les informations à enregistrer, entré le nom de ce fichier et finalement cliqué sur "enregistrer", on a pour réponse ... cette même fenêtre.
Bon, il suffit de cliquer sur "Annuler" pour garder l'emplacement et le nom du fichier précédement entrés.
Mais c'est quand même étonnant d'avoir deux fois la même requête.

Autre exemple : lorsque vous cliquez sur "Réduire" de l'app principale et que l'option "Dans la barre des tâches" de "Apparence de la fenêtre" est choisie, la fenêtre se réduit 2 fois (sous Windows XP, on peut voir cela avec le glissement de cette fenêtre vers la barre des tâches).

Si quelqu'un sait comment résoudre ce problème, se serait sypa de m'en donner la solution ;-))

++
Faves

Commentaire de faves le 26/06/2005 18:39:32

Pour cette source, il y aurai encore beaucoup de choses à mettre (fonctionnalités, options...).
Mais je trouve qu'elle en fait déjà plus que les fonctions principales de départ (cf "Son utilité" dans la rubrique "Description" plus haut).

Donc, à part peut-être mettre les utilitaires dans des onglets (ou autre) et corriger des bug, je n'ajouterai plus grand chose.
Pour cela, il faudra d'abord que mon compilo me permette de mettre tous les objets (boutons, etc...) dans le fichier ressources sans émettre d'erreurs.

++
F@ves

Commentaire de faves le 12/06/2006 00:52:26

J'ai enfin eu le temps de mettre les 2 utilitaires dans des onglets .

++
F@ves

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Cacher un onglet dans la barre des taches [ par atao ] qqun sait il comment coder en c une fenetre pour que lors de son exécution n'apparaisse pas son onglet dans la barre des taches. merci Cacher un onglet de la barre des taches avec une application console [ par dot ] comment fait on pour cacher un onglet de la barre des taches avec une application console??merci d'avance Comment savoir le temps que prend un instruction? [ par Samoul ] Je voudrait savoir comment calculer a l'aide d'un chronomètre ou de nimporte quel autres manière le temps qye peut prendre un instruction.Ex:Timer sta Utilisation de Timer [ par nunette ] Je fais clignoter un bouton sur l'appel de SetTimer, mon problème: impossible de le killer pourtant je passe bien le même id à KillTimer que celui pas C++ Builder et systray !! [ par UncleShu ] Resalut,je voudrais savoir si qql'un à un code source pour permettre de mettre sa propre application dans le systray avec C++ Builder !!Merci d'avance Boîte de dialogue à onglet [ par koiki ] Bonjour,Quelqu'un saurait-il comment "capturer" les messages des boutons Ok et Cancel qui sont générés dynamiquement par la classe CPropertySheet d'un Prob Tab control avec VC++ [ par loicus ] Bon voila, j'aimerais rajouter un Tab COntrol dans une DialogBox, Mais quand j'en ajoute une avec VC++ grace a l'editeur de ressource (dialogbox)de 1 Changer l'intervalle d'un timer [ par Athanor ] Une fois que j'ai crée un timer avec SetTimer, comment je peut changer son intervalle? Timer en C++ [ par superteta2003 ] J'aurais un besoin urgent d'un source C++ d'un timer. Pas un truc de malade mais un prog qui fonctionne en mode console!Merci d'avance!!! AU SECOURS !!! [ par petronius ] je viens de trouver un probleme tres interessant :j'ai fait un jeu avec des IA (3) en directx, et donc un timer de 100ms qui lance les differentes IA


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales