Gestion de la date et de l'heure en c++ .net

Le but de ce tutoriel et de faire une petite application qui nous permettra d'afficher la date et l'heure et qui est réactualisée chaque seconde.

Tout d'abord créez une application .Net c++ windows forms.

Supprimez ensuite le titre de la fenêtre de la solution nouvellement crée, ajoutez deux label, et un timer.

Une fois que cela est fait, effacez le texte présent dans les labels (attribut Text) et renommez les pour que nous puissions les atteindre plus facilement dans le codage, renommez donc le "label1" en "date", et le "label2" en "heure" (attribut Name).

Cliquez ensuite sur le timer pour le configurer. Il faut le rendre actif en affectant "true" au paramètre "Enabled". Puis réglez l'intervalle à laquelle le timer va effectuer l'action que nous définirons plus loin (afficher l'heure actuelle).

Maintenant passons à la récupération puis à l'affichage de l'heure. pour cela double cliquez sur le timer pour définir la fonction "tick".

vous arrivez alors dans l'interface de codage et votre curser se situe dans la méthode timer1_tick

private: System::Void timer1_Tick(System::Object * sender, System::EventArgs * e)
{

}

Nous allons dabord créer une variable de type DateTime et nous allons l'initialiser.Puis nous allons mettre en forme deux chaines de caractères, une pour la date, une pour l'heure, au format d'affichage que nous désirons, par de multiples concaténation
( méthode String::Concat(chaine1, chaine2, chaine3)). Chaque chaîne sera ensuite affectée aux labels que nous avons créé et à la barre de titre de notre programme.

Voici le code qui est affecté a la méthode timer1_tick

private: System::Void timer1_Tick(System::Object * sender, System::EventArgs * e)
{

DateTime
now=DateTime::Now; //récupération de la date et de l'heure actuelle
//---------Mise en forme de la date jour/mois/annéee --------------------------------------------
String * textedate=String::Concat(now.get_Day().ToString(),"/",now.get_Month().ToString());
textedate=String::Concat(textedate,"/",now.get_Year().ToString());
//-------------------------------------------------------------------------------------------------------

this->date->Text=textedate;//affichage de la date dans le label

//---------Mise en forme de l'heure heure/minute/secondes -----------------------------------------
String * texteheure=String::Concat(now.get_Hour().ToString()," : ",now.get_Minute().ToString());
texteheure=String::Concat(texteheure," : ",now.get_Second().ToString());
//-----------------------------------------------------------------------------------------------------------

this->heure->Text=texteheure;//affichage de l'heure dans le label
this->Text=texteheure;//affichage de l'heure dans la titre de la fenêtre

}

A chaques "tick" du timer, le code présent dans la méthode timer1_Tick est exécuté, c'est à dire chaque 1000 ms ou chaque secondes.

Maintenant vous devez compiler votre programme.

Cliquez sur ce bouton

Puis, si il n'y a pas d'erreur de compilation, le programme s'éxécute.

Bravo votre programme fonctionne!

Vous voyez donc que l'heure est la date correspondent bien, et s'actualisent chaque secondes.

récupérer le programme cliquez ici.

Bonne programmation à vous.