mddslist.pas
来自「source code for the Marco Cantu s book D」· PAS 代码 · 共 51 行
PAS
51 行
unit MdDsList;
interface
uses
DB, Classes, SysUtils, Windows, Forms, Contnrs, MdDsCustom;
type
TMdListDataSet = class (TMdCustomDataSet)
protected
// the list holding the data
FList: TObjectList;
// dataset virtual methods
procedure InternalPreOpen; override;
procedure InternalClose; override;
// custom dataset virtual methods
function InternalRecordCount: Integer; override;
procedure InternalLoadCurrentRecord (Buffer: PChar); override;
end;
implementation
procedure TMdListDataSet.InternalPreOpen;
begin
FList := TObjectList.Create (True); // owns objects
FRecordSize := 4; // an integer, the list item id
end;
procedure TMdListDataSet.InternalClose;
begin
FList.Free;
inherited;
end;
procedure TMdListDataSet.InternalLoadCurrentRecord (Buffer: PChar);
begin
PInteger (Buffer)^ := fCurrentRecord;
with PMdRecInfo(Buffer + FRecordSize)^ do
begin
BookmarkFlag := bfCurrent;
Bookmark := fCurrentRecord;
end;
end;
function TMdListDataSet.InternalRecordCount: Integer;
begin
Result := fList.Count;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?