Utilisation de la fonction time

Utilisation de la fonction time - Delphi/Pascal - Programmation

Marsh Posté le 07-04-2005 à 14:14:47    

Bonjour,
 
  J'aimerais savoir combien de tps un de mes programmes met pour s'exécuter.. Quelque chose comme:
 

Code :
  1. begin
  2. tempsDebut:=time;
  3. repeat
  4. ....{boucle principale}
  5. until
  6. tempsFin:=time;
  7. writeln('Temps de calcul:',tempsFin-tempsDebut,' secondes');
  8. end;


 
 
Je pensais utiliser la fonction time, mais on ne peux pas obtenir une précision à la seconde (ça retourne qqc de la forme xxxx,xx, où la partie fractionnaire représente le nombre d'heure écoulé depuis 12am je crois).
 
Comment faire pour obtenir une précision à la seconde?
 
Merci

Reply

Marsh Posté le 07-04-2005 à 14:14:47   

Reply

Marsh Posté le 08-04-2005 à 09:19:21    

T'es en Delphi ou c'est du vieux Pascal ?
 
Sous Windows t'as GetTickCount, mais il revient à 0 tous les 48 jours ou un truc du genre (donc il y a un risque infime que la fin soit un nombre inférieur au début).
Il y a aussi QueryPerformanceCounter et QueryPerformanceFrequency, qui donnent une précision de l'ordre de la milliseconde.
 
Si t'es en Delphi, Time renvoit l'heure au format TDateTime, t'as les secondes avec ça (ou Now pour avoir aussi la date), tu peux l'afficher avec FormatDateTime.


Message édité par antp le 08-04-2005 à 09:20:43

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 08-04-2005 à 13:04:01    


 
 Je programme sous delphi, GetTickCount ça marche, merci!

Reply

Marsh Posté le 08-04-2005 à 13:08:22    

Si t'es sous Delphi je ne vois pas le problème avec Time :??: Par contre tu dois utiliser TimeToStr ou FormatDateTime pour en faire une chaîne "propre" avec affichage heures/minutes/secondes.


Message édité par antp le 08-04-2005 à 13:08:38

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed