salut :d
je cherche la proprité ou la fonction qui nous permet d'obtenire en mili secondses depuis qand mon application est elle lancé
merci d'avance
ps : jai réussi a le fair ave Ttimer mais je cherche mieux que ca
merci d'avance
salut :d
je cherche la proprité ou la fonction qui nous permet d'obtenire en mili secondses depuis qand mon application est elle lancé
merci d'avance
ps : jai réussi a le fair ave Ttimer mais je cherche mieux que ca
merci d'avance
Suffit de déclarer l'unité MmSystem
Déclarer une Var BeginTime : Integer;
Dans le OnCreate de ta fiche principale mettre
Et lorsque tu souhaites savoir depuis combien de temps ton application tourne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BeginTime := TimeGetTime;
Le resultat est un Integer qui correspond à des millisecondes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Function GetTimeToRun : Integer; Begin Result := TimeGetTime-BeginTime; end;
Pour mettre cela au format heure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Caption := FormatDateTime('hh:nn:ss',(GetTimeToRun /(1000*24*60*60)));
Tu parles de ton appli ?
Si oui :
Uses :
Déclarations privées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2uses DateUtils, ...;
FormCreate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private { Déclarations privées } BeginningTime : TDateTime; end;
GetMillisecondsSinceBeginning :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.FormCreate(Sender: TObject); begin BeginningTime := Now; end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function TForm1.GetMillisecondsSinceBeginning : integer; begin Result := MillisecondsBetween(BeginningTime, Now); end;
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Mets une variable globale "msStart : Cardinal ;" publique (dans ton unité de fiche principale, par exemple).
Dans ton fichier .DPR, avant le "Application.Initialize;", rajoutes cette ligne :.
Code : Sélectionner tout - Visualiser dans une fenêtre à part msStart:=GetTickCount;
Ensuite, pour avoir les millisecondes depuis le démarrage de l'application :
GetTickCount est une fonction de l'API Win32 qui renvoie la base de temps de l'OS, exprimée en millisecondes. Elle est utilisable si tu as un "Uses Windows", ce qui est assez souvent le cas... :-D
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Function GetApplicationUptime : Cardinal ; Begin Result:=GetTickCount-msStart; End;
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Bon en gros , toutes ces solutions sont les mêmes ou de mêmes bases
Oui, mais elles jouent sur les unités nécessaires (et les fonctions linkées ou pas) à ton application...Envoyé par portu
Je suis peut-être puriste, mais utiliser "MMSystem" ou des fonctions "lourdes" de gestion d'heure pour avoir une mesure qui est native (et surtout, toujours présente sur l'OS quelle que soit la version de Delphi), j'avoue que j'ai du mal...
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
Le seul problème avec GetTickCount est que le temps passé est stocké dans un DWORD et que donc on peut (même si c'est rare) se retrouver avec une valeur inférieure à la valeur obtenue lors du démarrage de l'appli. Cela n'arrive que tous les 49.7 jours, mais il faut en être conscient.
C'est vrai... Ou (même avec une correction du dépassement de capacité) si l'application reste ouverte plus de 49,5 jours.
Solution : QueryPerformanceCounter... 64 bits, précision élevée (0.35 ns [1/2806420000 s] sur ma machine, par exemple), donc un problème de dépassement tous les siècles environ... Et elle est définie dans Windows.pas ! ;-)
Moi, bourrin ? Meuh non, voyons... Quelle idée saugrenue...
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
salut
ok je croi que je n'avait pas vrement besion de la grande précision (un court delait= 1H) mais si ca fonctionne bien pour quoi pas la utilisé
merci a vous tous pour vos réponces bien expliqué
_____________________________________________________________
Celui qui pose une question est bête cinq minutes, celui qui n'en pose pas l'est toute sa vie.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager