![]() |
Uptime Funktion > 49 Tage!
Hi,
kennt jemand ne wirklich funktionierende Funktion zur Uptimeberechnung > 49 Tage? Gruß Kidix |
Re: Uptime Funktion > 49 Tage!
|
Re: Uptime Funktion > 49 Tage!
Ganz ehrlich, hiernach sucht doch keiner!
Zitat:
|
Re: Uptime Funktion > 49 Tage!
wonach hast du denn zuerst gsucht? :stupid:
und hast du da beim link was gefunden? |
Re: Uptime Funktion > 49 Tage!
Nicht wirklich, die eine Function ist nur für Nt, die andere muss mindestens alle 49 Tage einmal aufgerufen werden!
Kidix |
Re: Uptime Funktion > 49 Tage!
:roll: Kuck mal ganz ans Ende des Threads. Da ist eine Funktion, die nicht nur auf NT läuft und die nicht alle 49 Tage aufgerufen werden muss. Und jetzt sag nicht, der Rechner kann kein QueryPerformanceCounter, dann läuft er nie lang genug, um die 49,7-Tage-Grenze zu sprengen. Dafür wär er zu alt und das ausgeführte Windows wohl entsprechend instabil.
|
Re: Uptime Funktion > 49 Tage!
Hey! warum hat M$ eigentlich diese "Funktion", Fehler, Bug oder nennt es wie ihr wollt mir den 49 Tagen eingebaut, bzw duch was wird das bedingt?!
|
Re: Uptime Funktion > 49 Tage!
Zitat:
ps: die Unit die ich dort geschrieben habe ist für WinNT, Win9x und Linux (Lesen statt Überfliegen hätte geholfen :roll: ). Zitat:
Aber meine 9x-Version liesse sich mit deinem Code deutlich verbessern (natürlich mit Abfrage, ob QueryPerformanceCounter auch unterstützt wird ;)). |
Re: Uptime Funktion > 49 Tage!
Also diese Function macht nicht wirklich das was sie soll.
Zähler bleibt permanent auf 22 Sekunden stehen!
Delphi-Quellcode:
Kidix
var
QPF: Int64 = 0; function GetTickCountEx: TUpTime; begin if QPF = 0 then QueryPerformanceFrequency(QPF); QueryPerformanceCounter(Ticks); if (QPF = 0) or (Ticks = 0) then begin Result.Milliseconds := Word(-1); Exit; end; Ticks := Ticks div QPF; with Result do begin MilliSeconds := Ticks mod 1000; Seconds := (Ticks div 1000) mod 60; Minutes := (Ticks div 60000) mod 60; Hours := (Ticks div 3600000) mod 24; Days := ((Ticks div 3600000) div 24) mod 30; Months := ((Ticks div 3600000) div 24) div 30; Years := ((Ticks div 3600000) div 24) div 365; end; end; P.S. Ok, die einheiten sind Falsch, auf Milliseconds kann im obigen Code nicht zugegriffen werden, da er die sekundenzahl auswirft! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz