Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: CRDBGrid Spalte mit einem Edit vergeleichen

  Alt 25. Nov 2013, 09:15
Hier würde es sich anbieten den Zeitraum zwischen der letzten Abfrage und Jetzt zu untersuchen.

Delphi-Quellcode:
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;
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)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat