![]() |
AW: CRDBGrid Spalte mit einem Edit vergeleichen
Hier würde es sich anbieten den Zeitraum zwischen der letzten Abfrage und Jetzt zu untersuchen.
Delphi-Quellcode:
Abhängig davon, wie das Programm arbeiten soll, kann man sich den letzten Abfragezeitpunkt extern merken oder man setzt den Abfragezeitpunkt beim Anwendungsstart auf die aktuelle Uhrzeit (weil das Programm immer nur dann verantwortlich ist, wenn es läuft)
type
TForm1 = class( TForm ) ... private FLastCall : TDateTime; ... end; procedure TForm1.CheckTimer; var LNow : TDateTime; begin // Abfragezeitpunkt merken LNow := Now; // Abfrage vorbereiten Qry.SQL.Text := 'SELECT * FROM TimerEvents WHERE AlarmTime > :CallThen AND AlarmTime <= :CallNow'; Qry.ParamByName('CallThen').Value := FLastCall; Qry.ParamByName('CallNow').Value := LNow; Qry.Open; try // Jetzt alle Datensätze bearbeiten while not Qry.EOF do begin // Irgendwas mit machen Qry.Next; end; finally Qry.Close; end; // Letzten Abfragezeitpunkt merken FLastCall := LNow; end; |
AW: CRDBGrid Spalte mit einem Edit vergeleichen
Zitat:
Delphi-Quellcode:
if AlarmZeit > Now then
|
AW: CRDBGrid Spalte mit einem Edit vergeleichen
Damit bekommst Du aber alle künftigen, selbst wenn die erst nächstes Jahr fällig werden ;) Sollte Sir Rufos elegante Lösung aus welchen Gründen auch immer nicht in Frage kommen, würde ich wie erwähnt SecondsBetween verwenden, um eine Toleranzgrenze festzulegen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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