Unit 'BufDataset' Package
[Overview][Types][Classes][Procedures and functions][Index] [#fcl]

TDoubleLinkedBufIndex

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an index using a doubly-linked list.

Declaration

Source position: bufdataset.pas line 202

type TDoubleLinkedBufIndex = class(TBufIndex)

public

  FLastRecBuf: PBufRecLinkItem;

  FFirstRecBuf: PBufRecLinkItem;

  FNeedScroll: Boolean;

  function ScrollBackward; override;

  

Scrolls the index toward the beginning of the index.

  function ScrollForward; override;

  

Scrolls the index towards the end of the index.

  function GetCurrent; override;

  

  function ScrollFirst; override;

  

Scrolls to the first entry in the index.

  procedure ScrollLast; override;

  

Scrolls to the last entry in the index.

  function GetRecord(); override;

  

  procedure SetToFirstRecord; override;

  

  procedure SetToLastRecord; override;

  

  procedure StoreCurrentRecord; override;

  

  procedure RestoreCurrentRecord; override;

  

  function CanScrollForward; override;

  

Indicates if the index can be scrolled towards the end of the index.

  procedure DoScrollForward; override;

  

Implements actions needed to scroll forward using the index.

  procedure StoreCurrentRecIntoBookmark(); override;

  

  procedure StoreSpareRecIntoBookmark(); override;

  

  procedure GotoBookmark(); override;

  

Navigates the index to the specified Bookmark.

  function CompareBookmarks(); override;

  

  function SameBookmarks(); override;

  

Compares Bookmark values for ordering in the index.

  procedure InitialiseIndex; override;

  

Initializes the index.

  procedure InitialiseSpareRecord(); override;

  

Initializes the spare record in the index.

  procedure ReleaseSpareRecord; override;

  

Releases the spare record in the index.

  procedure BeginUpdate; override;

  

  procedure AddRecord; override;

  

Adds a record to the index.

  procedure InsertRecordBeforeCurrentRecord(); override;

  

Inserts a record prior to the current record in the index.

  procedure RemoveRecordFromIndex(); override;

  

Removes the record at the specified Bookmark from the index.

  procedure OrderCurrentRecord; override;

  

  procedure EndUpdate; override;

  

end;

Inheritance

TDoubleLinkedBufIndex

  

Implements an index using a doubly-linked list.

|

TBufIndex

  

Defines the interface used to implement indexes in TBufDataset.

|

TObject

Description

TDoubleLinkedBufIndex is a TBufIndex descendant that implements an index using a doubly-linked list. Nodes in the doubly-linked list are implemented using the TBufRecLinkItem record type and the PBufRecLinkItem pointer type. TDoubleLinkedBufIndex provides two sentinel nodes that represent the first and last items in the linked list.

TDoubleLinkedBufIndex is the type used to implement the default index ('DEFAULT_ORDER') in TBufDataset.

See also

TBufIndex

  

Defines the interface used to implement indexes in TBufDataset.

TBufRecLinkItem

  

Stores bookmarks to the previous and next records in a linked list.

PBufRecLinkItem

  

Pointer to a TBufRecLinkItem type.

TBufDataset

  

Implements a database-aware buffered dataset.


Documentation generated on: Dec 22 2024