Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Minütlichen (https://www.delphipraxis.net/41763-minuetlichen.html)

runger 8. Mär 2005 09:35


Minütlichen
 
Hallo,

ich würde gerne ein Ereignis aus der aktuellen Uhrzeit ableiten!
Am besten minütlich.

Rainer

alcaeus 8. Mär 2005 09:39

Re: Minütlichen
 
Hallo Rainer,

sowas macht der Timer, aber wie alle wissen hast du den ja bereits entdeckt. Wo liegt das Problem?

Greetz
alcaeus

himitsu 8. Mär 2005 09:41

Re: Minütlichen
 
Mach es am Besten, so wie in meinem "letzten" Beispiel, du brauchst dort nur die Zeiten etwas anpassen > also der Timer kann ja alle 'ner Sekunde laufen und die Sekundenangaben werden einfach auf Minuten umgerechnet ^^

Sharky 8. Mär 2005 09:48

Re: Minütlichen
 
Oder, wenn Du möchtest in einer "Schleife" die Zeit prüfen.

Delphi-Quellcode:
var
  halt : Boolean;

procedure Delay (Value : Integer);
var
  start : Cardinal;
begin
  start := GetTickCount;
  repeat
    Application.ProcessMessages;
  Until (start + value) >= GetTickCount;
end;

procedure TForm1.StartClick(Sender: TObject);
var
  stunde,
  minute,
  sekunde,
  msekunde : Word;
  lminute : Word;
begin
  halt := False;
  DecodeTime(now,stunde,minute,sekunde,msekunde);
  lminute := minute; // Lezte Minuten zahl
  Repeat
    DecodeTime(now,stunde,minute,sekunde,msekunde);
    if (sekunde <> lsekunde) then
    begin
      lminute := minute;
      Memo1.Lines.Add(IntToStr (lsekunde)); // Die Aktion die ablaufen soll
      Delay (200); // Damit die Systemlast nicht zu hoch wird
    end;
  Application.ProcessMessages;
  Until (halt);
end;

procedure TForm1.StopClick(Sender: TObject);
begin
  halt := True;
end;

runger 8. Mär 2005 10:30

Re: Minütlichen
 
Nee,

ich will rein Interessehalber wissen ob man die Zeit per Event abfangen kann!

Noch etwas prinzipielles:
Endlosschleifen blockieren andere Prozesse (ist etwas ungenau formuliert aber im Prinzip richtig). Endlosschleifen scheiden aus.

Rainer

alcaeus 8. Mär 2005 10:32

Re: Minütlichen
 
Zitat:

Zitat von runger
Endlosschleifen blockieren andere Prozesse (ist etwas ungenau formuliert aber im Prinzip richtig). Endlosschleifen scheiden aus.

:shock: Seit wann das denn? Ich habs soeben versucht, nichts passiert. Wenn du mit "blockieren andere Prozesse" meinst, dass deine Anwendung nicht mehr reagiert, dann bau doch einfach ein Application.Processmessages ein ;)

Greetz
alcaeus

toms 8. Mär 2005 10:33

Re: Minütlichen
 
Zitat:

Zitat von runger

ich will rein Interessehalber wissen ob man die Zeit per Event abfangen kann!

Was genau moechtest du denn machen?

runger 8. Mär 2005 10:36

Re: Minütlichen
 
Hallo Sharky,

dein Vorschlag wäre gut wenn..
Delay hat eine ganz unangenehme Nebenwirkung, es wirkt sich nämlich auf Timer und deren Proceduren aus. ( Hab ich hier im Forum schon bis zum erbrechen durchdiskutiert. )
In userem Rogramm gibts jede Menge Timer die laufen müssen.
Unter Umständen werden während delay alle Timer gestoppt.

Rainer

himitsu 8. Mär 2005 10:45

Re: Minütlichen
 
Zitat:

Zitat von runger
Endlosschleifen blockieren andere Prozesse (ist etwas ungenau formuliert aber im Prinzip richtig).

[oh]Application.ProcessMessages;[/oh]

runger 8. Mär 2005 10:47

Re: Minütlichen
 
Hallo,

Voll daneben.Löst das Problem nicht. Probiers aus.Timer werden blockiert und bleiben auch geblockt solange delay läuft, auch wenn processmessages drinsteht.

Rainer


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:36 Uhr.
Seite 1 von 2  1 2      

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