Delphi-PRAXiS
Seite 2 von 4     12 34      

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)

Angel4585 29. Apr 2010 07:37

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Also ich würde das in nem Thread lösen, ist bissl wie Atombomben auf Eintagsfliegen schmeissen, aber man kommt zum Ziel und soo kompliziert isses au nich.

Also einfach ne eigene Klasse von TThread ableiten und in der Execute-Methode ne "while not Terminated do".
Darin dann ein Label mit der Zeit aktualisieren.

Man muss eigentlich nur beachten synchronize() zu verwenden.

Die restlichen Infos findest im Forum über die Suchfunktion.

hathor 29. Apr 2010 07:49

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Wer das GOTO scheut "wie der Teufel das Weihwasser" kann es auch so abändern:

Delphi-Quellcode:
repeat
.
.
.
until Application.Terminated;

Sherlock 29. Apr 2010 07:56

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Es geht um eine Hausaufgabe in der Schule. Insofern geht alles was über Vorschlag 5 hinausgeht auch über das Niveau der Fragestellung hinaus.

Vorschlag 5 ist mit sicherheit genau das, was der Lehrer erwartet hat.

Sherlock

hathor 29. Apr 2010 08:07

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
@Sherlock:

Delphi-Quellcode:
repeat

    while (Now - tick) < 0 do sleep(10); // in 10 Millisekundenschritten warten bis eine Sekunde um ist
heizt die CPU auf !!!

Mithrandir 29. Apr 2010 08:17

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Zitat:

Zitat von hathor
heizt die CPU auf !!!

Wenns ihr zu warm wird, schaltet sie sich schon aus. :roll: Es wäre halt gut zu wissen, was momentan im Unterricht behandelt wird, dann kann man auch in die richtige Richtung zeigen. Kümmern sie sich um die WinAPI, um unterschiedliche Taktzeiten, Threads... Man kann nur mutmaßen.

DeddyH 29. Apr 2010 08:23

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Die einfachste (wenn auch nicht unbedingt die eleganteste) Möglichkeit ist IMO
Delphi-Quellcode:
while not globale_Boolsche_Variable do
  begin
    Uhr_anzeigen;
    Application.ProcessMessages;
  end;

Sharky 29. Apr 2010 08:33

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Und dazu dann noch Hagens Delay.

DeddyH 29. Apr 2010 08:38

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Wäre schön, aber ob man das dann dem Lehrer erklären kann, steht wieder auf einem anderen Blatt.

xZise 29. Apr 2010 09:32

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Moin,
Zitat:

Zitat von hathor
[...]heizt die CPU auf !!!

Naja das geht. Er wartet immerhin 10 ms bevor er wieder was rechnet. Das heizt die CPU sehr (!) viel mehr auf:
Delphi-Quellcode:
while now - tick < 0 do ;
Wenn man bei Andorra z.B. das Idle Event von Application nimmt und nur Sleep(1); hinzufügt, sinkt die Prozessorlast von 100 % (für ein Kern) auf sehr viel niedrigere Werte. Weil während das Programm schläft arbeitet die CPU (zumindest an diesem Thread) nicht.

MfG
Fabian

Mithrandir 29. Apr 2010 09:37

Re: Uhr ohne Hilfe vom "Ttimer" erstellen
 
Zitat:

Zitat von xZise
Er wartet immerhin 10 ms bevor er wieder was rechnet.

Außerdem sind 10ms für heutige Systeme eine verdammt lange Zeit. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 Uhr.
Seite 2 von 4     12 34      

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