![]() |
Re: Uhr ohne Hilfe vom "Ttimer" erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
also ich habe jetzt mal deine angebliche Heizung implementiert. Wenn ich die Zeit auf 0 setze, dann hast du recht, aber bei 10 ms zeigt die CPU Werte um 0 % an. So wie der Code da aber steht ist das nicht eine sondern sind es genau 24 Sekunden ;) Das heißt 3600 * 24 nehmen dann passt es wieder. Das ist übrigens der Code:
Delphi-Quellcode:
Außerdem die Auslastung als Anhang. Ich habe einen Quadcore, weshalb selbst die Heiße Variante nur 25 % verbraucht. Ich habe dabei 5 Sekunden zuerst die 10 ms Variante ausgeführt (da wo der rote Strich ist) und dann 5 Sekunden die 0 ms Variante (dort wo der Berg ist). Das am Anfang ist der Programmstart.
procedure TForm1.BPowerClick(Sender: TObject);
begin Tick(0); // Heizt! end; procedure TForm1.BSleepClick(Sender: TObject); begin Tick(10); // Heizt nicht! end; procedure TForm1.Tick(WaitTime: Integer); var tickTime : extended; tckCnt : Byte; begin tickTime := Now + 1 / 86400; // Prevent reexecution BSleep.Enabled := False; BPower.Enabled := False; Application.ProcessMessages; tckCnt := 0; repeat while (tickTime - Now) > 0 do begin sleep(WaitTime); // in 10 Millisekundenschritten warten bis eine Sekunde um ist end; tickTime := tickTime + 1 / 86400; // wieder eine Sekunde weiter gehen Inc(tckCnt); lTicks.Caption := IntToStr(tckCnt); lTicks.Repaint; until tckCnt >= 5; BSleep.Enabled := True; BPower.Enabled := True; end; MfG Fabian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 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-2025 by Thomas Breitkreuz