Chronometre

L'application Chronometre est bâti à partir de la classe Chronometre .java.
Elle crée un fichier nommé temps.txt dans le répertoire Course se trouvant dans le répertoire d'exécution de l'application.


Format du ficher

Le fichier comporte une valeur par ligne. Chaque valeur est décimale.
Il se compose:

Exemple: le fichier ci-dessus a été créé en 2003, le premier coureur est arrivé en 33037 millisecondes et porte le dossard 65. Le deuxième temps est invalide et avait été affecté au coureur ayant le dossard numéro 2. Le troisième temps est valide mais on a pas le numéro de dossard du coureur.

1060771483894
33037
65
34117
-1000002
38117
-1

Membres

Outre les membres gérant l'interface graphique, cette classe comporte:

Méthodes

void chronoMetre(...)
Cette méthode est appelé chaque fois que le bouton est pressé.
- Si le chronomètre n'est pas démarré, m_chronometreDemarre devient vrai, on stocke l'heure courante dans m_heureDemarrage et on ajoute un nouvel élément dans m_listeTemps.
- Si le chronomètre est démarré, on crée un nouveau temps (instance de la classe Temps) ayant pour valeur: la différence entre le temps courant et le temps de démarrage du chronomètre ainsi que la valeur du dossard ayant été saisie (s'il y en a une).
Enfin, elle sélectionne ce nouvel élément dans la liste défilant de la fenêtre.



void run()
Cette méthode est s'exécute en boucle toute les 500 millisecondes dans une thread indépendante.
Si le chronomètre est démarré, elle affiche la différence entre l'heure courante et l'heure de départ du chronomètre.
Si le nombre d'enregistrement de temps du fichier temps.txt est différent du nombre stocké dans m_listeTemps, on enregistre le fichier en appelant ecritFichier().
Elle appelle également ecritFichier() si m_sauvegardeDemandee est vraie.



void litFichier()
Cette méthode est appelée au démarrage de l'application.
Elle lit le fichier temps.txt du répertoire Course.
Si ce fichier n'existe pas, la méthode se termine.
Si ce fichier existe, elle demande à utilisateur s'il désire continuer ce fichier:
- Si l'utilisateur ne veut pas continuer le fichier, il est détruit.
- Si l'utilisateur continue le fichier, on lit l'heure de départ que l'on stocke dans m_heureDemarrage, puis on lit les enregistrements (temps/dossard) que l'on stocke dans m_listeTemps.



void ecritFichier()
Cette méthode est appelée régulièrement par la méthode run().
Elle renomme le fichier temps.txt en temps.txt.sav.
Elle crée un nouveau fichier temps.txt à partir des informations des membres m_heureDemarrage et m_listeTemps.



void chronoMetreSaisie(...)
Cette méthode est appelée par l'interface graphique. Elle gère la saisie du numéro de dossard.



void afficheMenuListe()
Cette méthode est appelée lorsqu'un clic se produit sur la liste des temps. Elle affiche un menu permettant de valider ou d'invalider une ligne.