⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d1array.pas

📁 None Packed 及 Packed 两种动态数组构件 ( 附源码 )
💻 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 + -