Temps depuis le démarrage de windows

Description

Ce qu'il apprend (si e n'est pas déjà fait):

- Utilisation de l'opérateur modulo (%)
- Utilisation de la fonction GetTickCount() de l'api windows

- rien d'autre...

exemple de sortie:

0 Jour(s) 0 Heure(s) 36 Minute(s) 22 Seconde(s)

Source / Exemple :


DWORD temps = GetTickCount();       // récupère le temps de lancemetn de windows en ms. API Windows

 float Jours, Heures, Minutes, Secondes;
 DWORD reste;                        // il faut utiliser un DWORD et pas un float car float refuse Modulo

 Jours    = temps / (1000*60*60*24); // millisecondes, secondes, minutes, heures -> jours
 reste    = temps % (1000*60*60*24); /// opérateur Modulo (récupère le reste de la division)

 Heures   = reste / (1000*60*60);
 reste    %=        (1000*60*60);    //ceci est uen contraction de reste = reste % (1000*60*60)

 Minutes  = reste / (1000*60);
 reste    %=        (1000*60);

 Secondes = reste / (1000);

 //maintenant tout arrondir à 0 décimale:

 Jours    = RoundTo(Jours   , 0);    //cette fonction n'est pas standard (BCB),
 Heures   = RoundTo(Heures  , 0);    //que puis-je utiliser à la place ?
 Minutes  = RoundTo(Minutes , 0);    //à savoir que passer dans un int pose parfois problème...
 Secondes = RoundTo(Secondes, 0);

 //affichage dans le titre de la fenêtre sous BCB  (ne l'utilisez pas avec un autre compilo)
 Caption = FloatToStr(Jours)    + " Jour(s) "
         + FloatToStr(Heures)   + " Heure(s) "
         + FloatToStr(Minutes)  + " Minute(s) "
         + FloatToStr(Secondes) + " Seconde(s) ";

 //pour afficher en mode console, je suppose que c'est comme ceci:
 //cout << Jours << " jours(s) " << Heures << " heure(s) " << Minutes << " minute(s) " << Secondes << " seconde(s)" << endl;
 //alors il faut inclure iostream.h et utiliser "using namespace std;"

 //pour virer le (s), il faut utiliser ceci:
 //String j += ( (Jours > 1) ? "s" : "" );
 //faire de même pour tous et puis concaténer
 //en partant du principe que vous utilisez la librairie String.h
 //sinon remplacer par AnsiString sous Builder.

Conclusion :


Ce qui pourrait bien donner:

- une fenetre transparente qui affiche le temps au niveau du bureau (desktop).

14h08: J'ai ajouté le code source C++ Builder 6 pour créer une fenêtre de ce type qui affiche l'heure ds le coin de l'écran. Faut recompielr pr changer la couleur et ajotuer manuellement l'entrée ds la base de registre lol, mais sinno ça marche bien. regardez aussi le .cpp du projet pr la ligne qui cache l'appl ide la barre de tâche (trouvé sur developpez.com)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.