Bonjour,
je commence la programmation en autodidacte (sous Freepascal).

Le projet sur lequel je travaille est un démineur et je cherche à y ajouter
un chronomètre.

J'ai essayé avec l'unité Dos ( fonction : gettime ( ... ); ) : je soustrais le temps actuel du temps initialisé au préalable :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
procedure Chronos ( TempsInit : word; var TempsActu : word );
var Hour,Min,Sec,HSec : word;
begin 
     GetTime(Hour,Min,Sec,HSec);
     Hour := Hour * 3600;
     Min := Min * 60;
     TempsActu := Hour + Min + Sec;
     gotoxy (2,2);
     textbackground (black); textcolor (white);
     write (TempsActu - TempsInit);
end;
Forcément un problème survient à minuit...
même problème si je demande la date ( 31 -> 1 )

En cherchant sur ce forum, j'ai également trouvé certaines fonctions de l'unité SysUtils capables de me donner l'heure et la date.

Ma question :
N'y a-t-il pas un autre moyen de construire un chronomètre ? Ou du
moins d'éviter ce bug ?

Je vois beaucoup de codes sources avec des Units, des Tobject : sender.. Je suis encore loin de maîtriser cela j'aimerais simplement obtenir un fichier '*.pas'

Merci pour votre attention,
pardonnez-moi de poser une question si 'simple'.