Automatische aktualisierung

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
leveltwo
Beiträge: 34
Registriert: Mi 14. Okt 2015, 09:58

Automatische aktualisierung

Beitrag von leveltwo »

Moin Zusammen,

Gibt es eine möglichkeit mit der ich feststellen kann, dass sich das Datum verändert hat?

Ich habe ein Grid was ich jeden Tag aktualisieren muss aber ich habe keinen Schimmer wie ich das anstellen soll.

Ich wäre Mega Dankbar wenn mir jemand weiterhelfen kann

NoCee
Beiträge: 170
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
CPU-Target: Intel 32/64Bit, ARM9
Wohnort: Ulm

Re: Automatische aktualisierung

Beitrag von NoCee »

du kannst einfach das aktuelle Datum mit einem zuletzt gespeicherten Datum vergleichen.
Wenn aktuelles_Datum > gespeichertes_Datum dann hat sich das Datum geändert.
Das aktuelle Datum bekommst du mit now. Dafür brauchst du die Vorkommastelle von now().
Das machste mit trunc.
(Die Nachkommastellen entspricht der Uhrzeit)
Wenn dann das aktuelle Datum größer als das gespeicherte ist, aktualisiert du dein Grid und speicherst
dir das neue Datum als das alte.
Das ganze muß regelmäßig aufgerufen werden. Z.B. mit einem Timer alle Minuten 1 mal.

Gruß
NoCee

Benutzeravatar
gladio
Beiträge: 217
Registriert: Sa 21. Jun 2014, 06:15
OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
CPU-Target: 64Bit
Wohnort: Rügen

Re: Automatische aktualisierung

Beitrag von gladio »

Eine Möglichkeit wäre, in deiner Anwendung mit dem Grid ein Anwendungs-Datum 'mitlaufen' zu lassen und dieses Anwendungsdatum mit dem Systemdatum vergleichen.
Wenn deine Anwendung immer läuft, als einfachstes eine Datums-Variable.
Besser extern speichern in eine Text-/Ini-Date oder eine kleine Datenbank.
Den Vergleich kann man über einen Timer machen z.B. vergleiche jede Stunde die Daten oder ereignisgesteuert.
Und nach der Aktualisierung muß natürlich dein Vergleichsdatum (Anwendungs-Datum) auch aktualisiert werden.

Antworten