Faire une somme de temps et la moyenne

codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 - 27 mai 2005 à 00:08
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 - 30 mai 2005 à 10:33
Bonsoir,

je cherche une méthode pour:

1) faire une somme de temps, par exemple;
minutes, seconde, 10e
1:54:08
1:55:09
2:00:20
2:05:01
2:45:28
3:20:18
etc....

Total=

2) Pour en faire la moyenne:

D'avance merci

Codial

4 réponses

divadav Messages postés 94 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 22 janvier 2009 2
27 mai 2005 à 09:18
Salut !

Un petit exemple tout simple d'une fonction d'addition :

function AdditionDateTime(sDate1, sDate2, sFormat: String): String;
var
dt1, dt2: TDateTime;
begin
dt1 := StrToDateTime(sDate1);
dt2 := StrToDateTime(sDate2);
Result := FormatDateTime(sFormat, dt1 + dt2);
end;

Tu peux l'appeler comme ça :

ShowMessage(AdditionDateTime('1:54:08', '2:00:00', 'h:mm:ss'));

Et tu peux feire une moyenne comme ça :

ShowMessage(FormatDateTime('h:mm:ss', StrToDateTime(AdditionDateTime('1:54:08', '2:00:00', 'h:mm:ss')) / 2));

Mais là c'est juste des exemples de manipulation de date...
Dans ton cas, je pense qu'il faudrait modifier ma fonction ci-dessus pour lui passer en argument un tableau (ça t'évite de limiter le nombre d'arguments...), et de faire une fonction du même type pour la moyenne...

Keep Cool & Be Wild
Divad
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
27 mai 2005 à 17:45
Salut,



codial, j'ai posté un bout de source ici :



[code.aspx?ID=31651 CALCULER LA MOYENNE DE DURÉES...]



qui devrait répondre à ta question.



Bonne prog'



japee
0
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
29 mai 2005 à 11:39
Bonjour,

Merci pour les réponses.

japee merci beaucoup pour la fonction, cependant j'ai un souci. Comment je l'appelle la fonction? J'ai testé: CalculeMoyenne('1:25;58') mais j'ai un message "Type incompatible Tstring et string";

D'avance merci

Codial
0
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
30 mai 2005 à 10:33
Bonjour japee,

merci beaucoup pour les sources j'y ai trouvé la réponse à ma question.. Tes fonctions correspondent parfaitement à ce que je cherche. Comme tu peux le constater, je suis loin de maitriser Delphi mais j'étudie tes sources car il y a des syntaxes inconnues!!!!

Pour finaliser cette partie j'aurai encore besoin d'un coup de main si c'est possible:
Il s'agit d'une appli pour le suivi d'un entrainement à un pentathlon.
La structure de mon fichier Paradox:
Les champs qui nous intéresse pour le moment:

Code compétiteur Date de la séance d'entrainement Temps effectué
Exemple:

C001 23/05/2005 1:54:08
C002 23/05/2005 1:55:09
C002 23/05/2005 2:00:20

C001 25/05/2005 1:54:08
C002 25/05/2005 2:28:40
C002 25/05/2005 2:43:32

C001 27/05/2005 2:05:01
C002 27/05/2005 2:37:28
C002 27/05/2005 1:34:52

etc....

Comment je peux faire pour récupérer par compétiteur la somme et la moyenne des temps pour que ce soit compatible avec tes fonctions.
Et ensuite mettre à jour les secondes si cc > 60 et les minutes si secondes > 60. J'ai essayé les opérateurs div et mod mais j'ai des message d'erreur dont "Type incompatibles". Je m'y perd un peu !!!

En espérant ne pas abuser, d'avance merci.

Cordialement

Codial
0
Rejoignez-nous