AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

Ein Thema von NicoleWagner · begonnen am 24. Mai 2022 · letzter Beitrag vom 26. Mai 2022
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#11

AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 25. Mai 2022, 17:25
Wer hier eines Tages nachliest, der soll auch noch dieses Link zum Thema finden:
https://docwiki.embarcadero.com/Code...ontrol_(Delphi)
Das ist ja schon etwas gemein, oder? Der Link ist ein klitzekleines bisschen kaputt. Die schließende Klammer wurde vergessen zu markieren, als die URL erzeugt wurde.



Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.075 Beiträge
 
Delphi 12 Athens
 
#12

AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 25. Mai 2022, 17:34
Ich retriggere den Timer eigentlich fast immer in seiner OnTimer Routine.
So kann man den auch schön definiert abschalten und aufräumen lassen.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := False;

  DoTick;

  if FTimerIsRunning then
  begin
      Timer1.Enabled := True;
  end
  else
  begin
      CleanupAfterStop;
  end;
end;
So kann das was im OnTimer gemacht werden soll in Ruhe arbeiten, ohne Gefahr dass ein OnTimer ein zweites Mal reintriggert.
Insbesondere bei schnellen Ticks hilft das, damit es nicht aus dem Tritt gerät wenn DoTick mal 100ms und mal 500ms dauern kann.
Das geht natürlich auf insgesamt Kosten der Timergenauigkeit, aber die ist für mich sowieso meistens nicht relevant,
deshalb das TDateTime um die wirkliche Zeit zu bekommen.
Wenn ich hochpräzise Timer brauche dann nehme ich sowieso was Anderes.

Geändert von Rollo62 (25. Mai 2022 um 17:36 Uhr)
  Mit Zitat antworten Zitat
NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#13

AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 26. Mai 2022, 20:10
huch, wie konnte das passieren? Ich kopierte das Link.
Um es für alle Zeiten "sicher" zu machen, das ist es, was dort zu finden ist:

Delphi-Quellcode:
ActiveControl (Delphi)
Description

Place a TTimer object on the form and enter Timer1Timer in the OnTimer event. Place other controls on the form and change the active control at run time. The following event handler responds to timer events by moving the active control one pixel to the right every 100 milliseconds.
Code

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Interval := 100;
  if ActiveControl <> nil then
    ActiveControl.Left := ActiveControl.Left + 1;
end;

Uses

    Vcl.Forms.TCustomForm.ActiveControl ( fr | de | ja )
    Vcl.ExtCtrls.TTimer.OnTimer ( fr | de | ja )
    Vcl.ExtCtrls.TTimer.Interval ( fr | de | ja )
    Vcl.Controls.TControl.Left ( fr | de | ja )
Und dieser Mann machte mich ganz nervös, weil er so langsam sprach, doch danch hatte ich es wirklich verstanden:
https://www.youtube.com/watch?v=kAcCCiwMMmI
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:31 Uhr.
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