Thema: Delphi Prior

Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Prior

  Alt 31. Aug 2006, 11:14
Hallo sveta,

grundsätzlich gilt, wenn Next funktioniert, dann funktioniert auch Prior.

Dein Code hat aber einige Schwächen:
1. Wenn die geliferte Datenmenge leer ist, läuft Prior auf einen Fehler.
2. Wenn kein Datensatz die Bedingung erfüllt, landest du beim vorletzten Datensatz, weil du Prior auch in dem Fall aufrufst, dass das Ende der Datenmenge zu dem Verlassen der Schleife geführt hat.

Mit:

Delphi-Quellcode:
while (weiter) and (not myquery.Eof)do
    begin
      tmptime:= myquery.FieldByName('TIME').AsDateTime;
      if t<=tmptime then
      begin
          weiter:=false;
      end
      else begin
          weiter:=true;
          myquery.Next;
      end;
    end;
geht das Programm nur dann auf den nächsten Datensatz, wenn die Suche noch nicht abgeschlossen ist.

Ist die Query eigentlich mit einem Masterfeld verknüpft? Dann könntest du gar nicht durch die Datenmenge laufen. Wie kommst du denn darauf, dass Prior nicht funktioniert?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat