[gettickcount] déterminer depuis combien de temps windows n'a pas planté

Soyez le premier à donner votre avis sur cette source.

Vue 10 851 fois - Téléchargée 226 fois

Description

Bon, Windows est d'une stabilité exemplaire depuis win2k, tout le monde le sait.

Donc ce code n'est destiné qu'aux très vieilles versions, sorties il y a très très longtemps, et forcément obsolètes, hein ?

Bah, une période que les moins de 5 ans ne peuvent pas connaître...

Il faudra donc adapter le commentaire selon la version de votre OS.

J'aurais pu ajouter la détermination dans le code de l'OS utilisé, avec des commentaires plus adaptés, en fonction de...
Je n'ai pas eu le temps.
Mais si le coeur vous en dit, il y a de très bonnes sources à ce sujet sur le site.

Fais pas la gueule, Billou, it's just a joke, vieille tradition française du 1er avril.

Ah, ce source m'a été gravement inspiré par retak666, ici :

http://www.delphifr.com/code.aspx?ID=30415

J'y avais ajouté un commentaire sur ma manière de procéder, ce qui m'a donné l'idée de ce post approprié à la date d'aujourd'hui, me semble-t'il ;)

Source / Exemple :


procedure FmtMillisec(var Days, Hours, Minutes, Seconds, Milliseconds: Integer);
begin
  Seconds      := Milliseconds div 1000;
  Milliseconds := Milliseconds mod 1000;
  Minutes      := Seconds div 60;
  Seconds      := Seconds mod 60;
  Hours        := Minutes div 60;
  Minutes      := Minutes mod 60;
  Days         := Hours div 24;
  Hours        := Hours mod 24;
end;

function NotBlueScreenOfTheDeathFrom: string;
const
  S1 = 'Ce PC n''a pas planté depuis :';
  Br = #10#13 + 'Diagnostic : ';
  Comment: array[0..5] of string = (
    'pour l''instant tout va bien.',
    'hé, pas mal, c''est certainement votre jour de chance.',
    'toutes nos félicitations, pourvu que ça dure...',
    'veuillez réinstaller Windows tout de suite - Bill Gates.',
    'erreur probable dans les calculs.',
    'vous essayez de tricher, mais ça ne marche pas !');
  MINUTE = 60000;
  HEURE  = 3600000;
var
  Jours, Heures, Minutes, Secondes, Millisecondes: Integer;
  S2: string;
begin
  Millisecondes := GetTickCount;
  case Millisecondes of
    0 .. 10 * MINUTE -1         : S2 := Comment[0];  //   < 10 minutes
    10 * MINUTE .. 2 * HEURE -1 : S2 := Comment[1];  //   < 2 heures
    2 * HEURE .. 5 * HEURE -1   : S2 := Comment[2];  //   < 5 heures
    5 * HEURE .. 10 * HEURE -1  : S2 := Comment[3];  //   < 10 heures
    10 * HEURE .. 20 * HEURE -1 : S2 := Comment[4];  //   < 20 heures
    else
      S2 := Comment[5];   // 20 heures et plus
  end;
  FmtMillisec(Jours, Heures, Minutes, Secondes, Millisecondes);
  Result := Format(
    '%s %d jours, %d heures, %d minutes, %d secondes et %d ms.%s %s',
    [S1, Jours, Heures, Minutes, Secondes, Millisecondes, Br, S2]);
end;

procedure TForm1.btnTestClick(Sender: TObject);
begin
  MessageDlg(NotBlueScreenOfTheDeathFrom, mtInformation, [mbOK], 0);
end;

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
49
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
24 mars 2017

Belle preuve d'humour Ken@vo.
Bravo !!!
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
Kenavo, ton clavier ne serait-il pas de marque la Microsoft comme ça para hasard??? Si oui, tu cumule les riques!!!
Windows+Clavier Microsoft = 2 fois plus de chance de plantage :)
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
Lol, Kenavo ! :o)

Tu nous as fait peur, un moment...
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
al

C'est bien ! Non ?

Ken@vo
Messages postés
1725
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
11 avril 2021
8
En fait, Delphiprog, je pense que c'est Kenavo qui a eu un bug quand il a réalisé que son ordi tournait depuis au moins 10 minutes sans rebooter, mdr ;)

Il n'a même pas eu le temps de finir sa phrase, le pauvre...

Je suis quand même un peu inquiet pour lui :(

Quelqu'un a des nouvelles rassurantes à son sujet ?
Afficher les 9 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.