procedure GotoBookmark(Bookmark: TBookmark);
//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;