AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pause in Timer setzen

Ein Thema von TeTSuO · begonnen am 24. Apr 2005 · letzter Beitrag vom 11. Okt 2017
Antwort Antwort
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Pause in Timer setzen

  Alt 6. Okt 2017, 15:53
Hätte man nicht auch mit einem zweiten Timer arbeiten können? Wenn der erste Pausieren soll, dann wird Timer1 deaktiviert, Timer2 (Pausentimer) aktiviert und nach abgelaufender Zeit deaktiviert sich Timer2 selbst und aktiviert Timer 1 wieder. ?
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#2

AW: Pause in Timer setzen

  Alt 11. Okt 2017, 09:27
UpdateTimer sollte vor FOnTimer() aufgerufen werden, sonst verfälschen lange Laufzeiten der OnTimer-Methode die Genauigkeit.
Delphi-Quellcode:
    UpdateTimer;
    FOnTimer(Self);
Da Windows-PCs manchmal auch über mehrere Tage laufen, besser mit GetTickCount64() arbeiten.
http://www.delphipraxis.net/711170-post5.html
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#3

AW: Pause in Timer setzen

  Alt 11. Okt 2017, 09:43
Von welcher Beschränkung genau sprichst du?

Meinst du, dass man Dax's GetTickCount64-Code auch unter XP verwenden kann? Kann man Winapi.Windows.GetTickCount64 nicht unter XP verwenden?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#4

AW: Pause in Timer setzen

  Alt 11. Okt 2017, 09:51
Bezogen auf den Windows-Timer (MSDN-Library durchsuchenSetTimer, MSDN-Library durchsuchenKillTimer und MSDN-Library durchsuchenWM_TIMER)
gibt es leider keinen API-Aufruf für "Pause"
und es ist auch nicht möglich abzufragen wann das letzte oder nächste Event war/kommt. (hier könnte man sich sonst die Restzeit merken und sie für den nächsten Start verwenden)

Man könnte sowas aber in TTimer (VCL) einbauen, also das letzte Event speichern (z.B. GetTickCount) und das für einen Pause/Restore-Befehl zu nutzen.
FMX-Timer weiß ich nicht wie der arbeitet, in jedem möglichen OS, und ob es da nicht bessere/direktere Möglichkeiten gibt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 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