Dire depuis combien de temps tourne le pc(gettickcount - exemple d'utilisation)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 791 fois - Téléchargée 31 fois

Contenu du snippet

Bon, c'est un exemple tout con qui affiche dans une message box le temps depuis lequel le pc est allumé grave a la fonction gettickcount qui retourne le temps en ms, si vous ne comprenez pas, allez réviser vos maths :p
Il vous faut une forme, et un bouton, dans lequel vous mettrez ce code dans l'évènement onclick.

Source / Exemple :


procedure TForm1.Button1Click(Sender: TObject);
var jours, heures, minutes, secondes, millisecondes : integer;
begin

jours := gettickcount div (1000*60*60*24);
heures := (gettickcount - (jours*1000*60*60*24)) div (1000*60*60);
minutes := (gettickcount - (jours*1000*60*60*24) - (heures*1000*60*60)) div (1000*60);
secondes := (gettickcount - (jours*1000*60*60*24) - (heures*1000*60*60) - (minutes*1000*60)) div (1000);
millisecondes := (gettickcount - (jours*1000*60*60*24) - (heures*1000*60*60) - (minutes*1000*60) - (secondes*1000));// div (1);

MessageBoxA(0,Pchar(format('Pc lancé depuis: %d jours, %d heures, %d minutes, %d secondes et %d millisecondes', [jours, heures,minutes,secondes,millisecondes])),Pchar('Temps d''éxécution:'),0 + MB_ICONINFORMATION + 0);
end;

Conclusion :


Ca peut toujours servir a quelqu'un ;)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
17
Faut vraiment pas se fatiguer pour sortir GetTickCount...

Vos commentaires sont marrants, mais NTDLL n'est bien sûr pas toujours fourni. C'est peut-être idiot comme question, mais est-ce que NTdll est compatible avec 98 ? Au passage, si on ne fait pas n'importe quoi, W98 est très stable. C'est juste que les logiciels le rendent de moins en moins compatible.

Pour simple rappel, Win98 est un système d'exploitation. Japee semblait l'oublier. Et sinon, je n'ai pas compris ce que son code apporte de plus par rapport à celui sur lequel on cause.
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Comme ça, on pourra faire une moyenne du temps que met Windows pour planter. On enverrai les données à Mister Billy pour qu' il implante dans une prochaine revision de Windows un système qui aviserai l' utilisateur lorsque l' on s' approcherai trop (dans le temps) d' un potentiel plantage!

J' ai même une idée pour le message (en Anglais biensûr, cela va de soi):
Caption := 'Hypotetic instable system';
Text := 'Incoming critical error: shutdown manually or Windows will restart automatically in ' + tempsRestant;
Messages postés
1722
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
22 octobre 2020
5
Pour rester dans le ton, et sans changer de sujet, j'aurais fait comme ça :

procedure WinPasPlanteDepuis;
var jours, heures, minutes, secondes, millisecondes: integer;
begin
Millisecondes := GetTickCount;
Secondes := Millisecondes div 1000;
Millisecondes := Secondes mod 1000;
Minutes := Secondes div 60;
Secondes := Secondes mod 60;
Heures := Minutes div 60;
Minutes := Minutes mod 60;
Jours := Heures div 24;
Heures := Heures mod 24;
MessageDlg(
Format('Ce PC n''a pas planté depuis: %d jours, %d heures, %d minutes, %d secondes et %d millisecondes, félicitations !',
[jours, heures, minutes, secondes, millisecondes]),
mtInformation,
[mbOK],
0);
end;

Bonne prog' :p
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
GetTickCount est la mode cette année :)

Pour répondre à DelphiProg, Microsoft prépare une nouvelle version de Windows pour les avions (baptisé WinCrash) et un autre, pour diriger les centrales nucléaires (le nom temporaire est WinRadiate) !!!
Qui c' est qui veut prendre l' avion de Billou?
Messages postés
286
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 juillet 2007

Merci de vos commentaires, je vais faire une mise a jour a l'occase avec tous vos aids exemples!
Afficher les 10 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.