Bonjour,
J'aimerai chronométré le temps passé sur le programme par l'utilisateur dans le but de calculer des quotas (programme de sondage téléphonique).
Pourriez vous m'aider ?
Merci
Charlotte
Bonjour,
J'aimerai chronométré le temps passé sur le programme par l'utilisateur dans le but de calculer des quotas (programme de sondage téléphonique).
Pourriez vous m'aider ?
Merci
Charlotte
Salut,
Est ce que l'on doit voir le temps passé qui s'affiche au fur et à mesure ?
J'entends par la : Est ce que le programme doit afficher en temps réel le temps écoulé depuis l'ouverture du programme ?
Une solution simple serait de faire ainsi :
C'est une des façon de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 var Form1: TForm1; StartChrono:TDateTime; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin // On récupère la date ainsi que l'heure à laquelle l'application s'est lancée StartChrono:=Now; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var duree:TDateTime; begin // On récupère la durée écoulée duree:=Now-StartChrono; // On affiche la durée ShowMessage(TimeToStr(duree)); end;
A+
Ou sinon, jouer avec GetTickCount.
![]()
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
- Déclarer les variables TTime
Code : Sélectionner tout - Visualiser dans une fenêtre à part InitTime, FinalTime : TTime;
- Initialiser la variable à l'entrée de l'utilisateur dans le programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part InitTime := Now;- Calculer le temps passé par l'utilisateur à sa sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part FinalTime := Now - InitTime;
Attention avec GetTickCount, le compteur s'incrémente à partir du démarrage de la machine. Il arrive donc un moment où le compteur fait un overflow et retourne au début...
Si l'application est utilisée sur un serveur, ça peut arriver.
Sinon pour formater le résultat au format hh:mm:ss, il suffit de faire un truc du genre :
Ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 debut := GetTickCount; ... fin := GetTickCount; total := (fin - debut) div 1000; // Calcul du temps en secondes. temps := Format('%0.2d:%0.2d:%0.2d', [total div 3600, (total mod 3600) div 60, (total mod 3600) mod 60]);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 debut := GetTickCount; ... fin := GetTickCount; total := (fin - debut) div 1000; // Calcul du temps en secondes. temps := TimeToStr( total / (3600 * 24));
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
Partager