Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[GETTICKCOUNT] DÉTERMINER DEPUIS COMBIEN DE TEMPS WINDOWS N'A PAS PLANTÉ


Information sur la source

Catégorie :Système Classé sous : gettickcount, systeme, conversion, millisecondes, time Niveau : Débutant Date de création : 01/04/2005 Date de mise à jour : 16/04/2007 21:34:38 Vu / téléchargé: 5 580 / 74

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
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

  • 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;
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;

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 avril 2007 21:20:00 :
Erreur de conversion des millisecondes corrigée. Code optimisé. Prochainement : un zip pour tester plus aisément.
16 avril 2007 21:34:38 :
J'ai ajouté le zip promis.

Commentaires et avis

signaler à un administrateur
Commentaire de japee le 01/04/2005 19:07:48 administrateur CS

Je viens de recevoir ça dans ma boîte mail.
Un tel à-propos, ça ne s'invente pas !
Je vous en fais profiter.

Nous sommes le 1er avril 2004, Bill Gates vient de mourir et il est accueilli par Saint Pierre en personne.
A l'entrée du paradis Saint Pierre lui dit :
- Ici, tout est informatisé. Réseau TCP-IP, pleins de PC Intel-Pentium IV 4,2 Ghz, Windows 2003 Server, Office 2003 avec les patch ' Paradis 2004 ', etc...
Bill Gates est aux anges (sans mauvais jeu de mots).
Par contre, à cause de quelques fautes légères (prix exorbitants de ses logiciels, bugs extrêmement nombreux, support client défaillant, tentative d'hégémonie mondiale, écrasement de la concurrence, etc.), Bill Gates doit passer 1 heure au purgatoire.
Fair play, Bill Gates accepte en se disant qu'après tout 1 heure de purgatoire c'est bien peu payé pour ses activités terrestres...
1 heure après, Bill Gates revient à la porte du paradis, Saint Pierre vérifie sur son ordinateur.
- Ah ! Excusez moi Mister Gates, mais le système vient encore de planter et l'horloge système s'est remise sur 1904. Or, d'après nos fiches vous ne devez être libéré que le 1er avril 2004. Vous avez encore 100 ans de purgatoire. Désolé, ce n'est pas de notre faute, c'est l'ordinateur...
Bill Gates a beau râler, protester et s'emporter, mais rien n'y fait et il est embarqué par 2 anges baraqués vers le purgatoire.
Un siècle plus tard (donc le 1er avril 2104), Bill Gates arrive en se traînant péniblement jusqu'à la porte du Paradis. Saint Pierre l'accueille :
- Poisson d'avril ! On n'est pas informatisé !!!...

signaler à un administrateur
Commentaire de retaks666 le 01/04/2005 19:11:46

Lol, sinon heureusement que ce code ne marche pas sous linux, car le concour n'aurait pas été possible (un ami faisait des concours de pc sans plantage linux, il était environ a 3mois ...)

signaler à un administrateur
Commentaire de Kenavo le 01/04/2005 20:32:39

J'ai eu :

Pas m

signaler à un administrateur
Commentaire de Delphiprog le 02/04/2005 21:27:26 administrateur CS

Ah ah ah, le clavier de Kenavo a eu un bug ;o)

C'est cool, Japee, très cool.

signaler à un administrateur
Commentaire de japee le 02/04/2005 21:58:18 administrateur CS

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 ?

signaler à un administrateur
Commentaire de Kenavo le 03/04/2005 11:33:25

            al

C'est bien ! Non ?

Ken@vo

signaler à un administrateur
Commentaire de japee le 04/04/2005 00:37:33 administrateur CS

Lol, Kenavo ! :o)

Tu nous as fait peur, un moment...

signaler à un administrateur
Commentaire de MAURICIO le 04/04/2005 13:23:40

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   :)

signaler à un administrateur
Commentaire de jihelb le 04/04/2005 14:51:18

Belle preuve d'humour Ken@vo.
Bravo !!!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Conversion BCD [ par Manu93 ] Est ce que quelqu'un sait comment coder des chaines hexa en Binaire BCD.Ex : ff --&gt; 1111 1111Merci conversion d un integer en string??? [ par VashTheStampede ] Comment convertir une variable de type integer en string?Et s il s agit d une fonction, comment l integrer a une procedure de type "OnClick"?Merci d'a Forcer affichage menu systeme [ par fabiin ] Salut g une application sans barre de titremais je voudrai kan même afficher le menu systeme lors du klik droit :)comment faire ???merci par avance <i conversion de base [ par lnicos ] bonjour, je dispose d'une base de donnée de plus de 1000 enregistrements, et je souhaiterais savoir si il est possible, de la convertir en bse paradox Conversion nombre en texte [ par ndjioua ] &gt; Salut je cherche une fonction qui me permettait de convertir un nombre (exp: 1523) en son équivalent écrit sous forme de text (Mille cinq cent v Compos dans un Compo pas Design Time [ par bvdv ] Bonjour,Je suis la la recherche pour depuis un editeur de propriété ajouter un composant dans un composant et ceci donc en design time.Merci Problème conversion [ par jbob ] Bonjour,Comment fait-on pour convertir par ex une ce format horaire 02:45:00 pour que cela fasse 2,75 pour pouvoir effectuer des calculs sur des tau prob de conversion de date [ par patof ] je voudrai mettre a jour l heure du pc avec l heure du serveur intranet, mais ce que je récupère est une string de la forme : "Monday, April 14, 2003 systeme mvc [ par elkike ] quelqun pourrait me donner des petites précisions sur le système modèle-vue-controleur??quelles sont les interactions ?les différences entre le modéle Conversion String->TdateTime [ par Brain ] J'ai une chaine de caractère du style '4 mai 2003 10:45AM'et je veux la convertir au format TDateTimemais je n'y arrive, avec la fonction StrtoDateTim


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,373 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.