Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Uhr ohne Hilfe vom "Ttimer" erstellen (https://www.delphipraxis.net/150806-uhr-ohne-hilfe-vom-ttimer-erstellen.html)

xZise 30. Apr 2010 01:13

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:
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;
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.

MfG
Fabian


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz