Welcome Guest, you are in: Anmelden

CP Wiki

RSS RSS

Navigation



  1. Administration

Suche im wiki
»

function FindPrior

RSS
Modified on 02/02/2009 15:15 by CPABED Categorized as Plattform
Syntax:
function findPrior: boolean;


Beschreibung:

Die Methode FindPrior implementiert eine virtuelle Methode, die unter Berücksichtigung aller Filter den vorhergehenden Datensatz einer Datenmenge aktiviert.

FindFirst gibt false zurück, wenn der erste Datensatz der Datenmenge nicht aktiviert werden konnte. Die Methode wird in abgeleiteten Klassen überschrieben, um unter Berücksichtigung aller Filter den vorhergehenden Datensatz der Datenmenge zu aktivieren. In abgeleiteten Klassen gibt FindPrior true zurück, wenn der Datensatzwechsel erfolgreich war.
Beispiel:

//In diesem Beispiel wird eine Schaltfläche verwendet, um den Wert eines Feldes im vorhergehenden Datensatz in das entsprechende Feld des aktuellen Datensatzes zu kopieren.

procedure TForm1.CopyDataClick(Sender: TObject);

var SavePlace: TBookmark; PrevValue: Variant; begin with MyData do begin { Positionsmarke abrufen, damit wir zum selben Datensatz zurückkehren können } SavePlace := GetBookmark; try

{ Zu vorhergehendem Datensatz wechseln }

FindPrior;

{ Wert abrufen }

PrevValue := Fields0.Value;

{ Zurück zu Positionsmarke wechseln.

Dies ist aber nicht mehr der nächste Datensatz, wenn die Datenmenge asynchron geändert wird. } GotoBookmark(SavePlace); { Wert zuweisen } Fields0.Value := PrevValue; { Positionsmarke freigeben } finally FreeBookmark(SavePlace); end; end;

end;

Damit die Schaltfläche deaktiviert wird, wenn kein vorhergehender Datensatz vorhanden ist, wird über das Ereignis OnDataChange des DataSource-Objekts ermittelt, ob der Benutzer zum Anfang der Datei gelangt ist (Eigenschaft BOF wird true). Ist dies der Fall, wird die Schaltfläche deaktiviert.

procedure TForm1.MyDataDataChange(Sender: TObject; Field: TField);

begin if MyData.Bof then CopyData.Enabled := False else CopyData.Enabled := True; end;

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam.