AGB  ·  Datenschutz  ·  Impressum  







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

Formular im Thread neu erzeugen

Ein Thema von khh · begonnen am 24. Jul 2015 · letzter Beitrag vom 27. Jul 2015
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 11:57
Du hast Doch sicherlich im FormCreate die Abfrage nach dem Wochentag...

Dann brauchst Du doch nur daraus eine procedure machen und die Aufrufen...

Mavarik
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:18
alsoo,
ich habe jetzt einen Timer den ich alle 45 Sekunden aufrufe.
im OnTimer frage ich einfach ab, ob es 00:01 Uhr ist.
wenn ja gebe ich die alten Panels frei und erzeuge sie neu.

Klappt in einem ersten Test wunderbar.

Ich überlege nur, ob die Abfrage alle 45 Sekunden, also einmal pro Minute nötig ist.
ich denke schon, denn bei einem längeren Intervall "verpasst" der Timer die passende Uhrzeit, oder ?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:22
Du kannst auch die Differenzzeit bis 00:01 ermitteln und das Ergebnis in das Timerintervall schreiben (bzw. Maxint wenn die Millisekunden sonst zu viele wären).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:28
Du kannst auch die Differenzzeit bis 00:01 ermitteln und das Ergebnis in das Timerintervall schreiben (bzw. Maxint wenn die Millisekunden sonst zu viele wären).
da steh ich jetzt auf der Leitung

Du meinst ich ermittle im Timer die Differenz bis 00:01 und setze damit den Timerintervall jedesmal neu?
Karl-Heinz

Geändert von khh (24. Jul 2015 um 12:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:37
So etwa wie Wecker stellen:

T: TTime;
MS: Real;
I: Integer;
...
T := (Morgen, 00:00:01) - Now;
MS := T als Millisekunden (bin jetzt nicht sicher, wie man das umrechnen muss)
if (MS > MaxInt) then I := MaxInt
else I := Round(MS);

Timer.Interval := I;

Und in der nächsten Timerbehandlung das gleiche wieder.
Dann feuert der Timer nicht unnötig oft.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:44
MS := T als Millisekunden (bin jetzt nicht sicher, wie man das umrechnen muss)
if (MS > MaxInt) then Und in der nächsten Timerbehandlung das gleiche wieder.
Dann feuert der Timer nicht unnötig oft.
Echt? Weil ein Timer ja auch nur ein Interval von 49 Tagen kann?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:50
[OT]
kleiner Vorschlag: Ändere Deine Antwort in "ein Timer kann ein Intervall von 49 Tagen, dann braucht es in dem Fall keine MaxInt-Prüfung"
(das klänge etwas netter)
[/OT]
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#8

AW: Formular im Thread neu erzeugen

  Alt 24. Jul 2015, 12:38
hallo,

du ermittelst wieviel Zeit noch bis 00:01 benötigt wird und setzt deinen Timer entsprechend neu.
Wenn du also um 22:10 nachschaust, brauchst du nicht alle 45 Sekunden neu prüfen, ob bereits Mitternacht ist.
Ich würde an dieser Stelle aber die allgemeine Relativitäts Theorie anführen. Wenn es bir jetzt 22:10 ist, und bei dir eine Sekunden vergangen ist, heisst dies nicht, dass bei mir auch nur eine Sekunde verganganen ist.

mfg

frank
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#9

AW: Formular im Thread neu erzeugen

  Alt 27. Jul 2015, 06:58
alsoo,
im OnTimer frage ich einfach ab, ob es 00:01 Uhr ist.
wenn ja gebe ich die alten Panels frei und erzeuge sie neu.
Wieso erzeugst du die Panels neu? Reicht es da nicht, ein paar Properties zu ändern?
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
322 Beiträge
 
Delphi 12 Athens
 
#10

AW: Formular im Thread neu erzeugen

  Alt 27. Jul 2015, 08:54
alsoo,
im OnTimer frage ich einfach ab, ob es 00:01 Uhr ist.
wenn ja gebe ich die alten Panels frei und erzeuge sie neu.
Wieso erzeugst du die Panels neu? Reicht es da nicht, ein paar Properties zu ändern?
Er hat es leider noch nicht verstanden, dass er bei den Elementen auf dem Panel einfach nur neue Werte zuweisen muss...
Grüße, Christoph
  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 17: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