📄 d1array.pas
字号:
unit D1Array;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TNoPackD1Array = class(TComponent)
private
{ Private declarations }
FCount: Integer; // Table total count
FItemSize: Integer;
DataCount: Integer; // Actual data count
Buffer: Pointer;
protected
{ Protected declarations }
function FindFirstEmpty(var Item: Pointer): Integer;
function Get(Index: Integer): Pointer;
procedure Put(Index: Integer; Item: Pointer);
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function Add(Item: Pointer): Integer;
procedure Empty(Index: Integer);
function IsEmpty(Index: Integer): Boolean;
procedure Clear;
property Items[Index: Integer]: Pointer read Get write Put; default;
published
{ Published declarations }
property Count: Integer read FCount;
property ItemSize: Integer read FItemSize write FItemSize default 0;
end;
TPackedD1Array = class(TComponent)
private
FCount: Integer; // Table total count
FItemSize: Integer;
FList: TList;
protected
function Get(Index: Integer): Pointer;
procedure Put(Index: Integer; Item: Pointer);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Add(Item: Pointer);
procedure Insert(Index: Integer; Item: Pointer);
procedure Delete(Index: Integer);
function Remove(Item: Pointer): Integer;
procedure Exchange(Index1, Index2: Integer);
function IndexOf(Item: Pointer): Integer;
procedure Clear;
property Items[Index: Integer]: Pointer read Get write Put; default;
published
property Count: Integer read FCount;
property ItemSize: Integer read FItemSize write FItemSize default 0;
end;
procedure Register;
implementation
const
EmptySymbol = Chr(0); // Used by TNoPackD1Array
FullSymbol = Chr(255); // Used by TNoPackD1Array
//=============================================================================
//
// NonePack 1-Dim Array's methods
//
//=============================================================================
//=============================================================================
// Description: т
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -