12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- unit dbf_cursor;
- interface
- {$I dbf_common.inc}
- uses
- SysUtils,
- Classes,
- dbf_pgfile,
- dbf_common;
- type
- //====================================================================
- TVirtualCursor = class(TObject)
- private
- FFile: TPagedFile;
- protected
- function GetPhysicalRecno: Integer; virtual; abstract;
- function GetSequentialRecno: Integer; virtual; abstract;
- function GetSequentialRecordCount: Integer; virtual; abstract;
- procedure SetPhysicalRecno(Recno: Integer); virtual; abstract;
- procedure SetSequentialRecno(Recno: Integer); virtual; abstract;
- public
- constructor Create(pFile: TPagedFile);
- destructor Destroy; override;
- function RecordSize: Integer;
- function Next: Boolean; virtual; abstract;
- function Prev: Boolean; virtual; abstract;
- procedure First; virtual; abstract;
- procedure Last; virtual; abstract;
- property PagedFile: TPagedFile read FFile;
- property PhysicalRecNo: Integer read GetPhysicalRecNo write SetPhysicalRecNo;
- property SequentialRecNo: Integer read GetSequentialRecNo write SetSequentialRecNo;
- property SequentialRecordCount: Integer read GetSequentialRecordCount;
- end;
- implementation
- constructor TVirtualCursor.Create(pFile: TPagedFile);
- begin
- FFile := pFile;
- end;
- destructor TVirtualCursor.Destroy; {override;}
- begin
- end;
- function TVirtualCursor.RecordSize : Integer;
- begin
- if FFile = nil then
- Result := 0
- else
- Result := FFile.RecordSize;
- end;
- end.
|