Home / Lists
Name Modified Size InfoDownloads / Week
Parent folder
RcsLists.pas 2024-04-13 7.6 kB
ReadMe.md 2024-04-13 1.6 kB
Totals: 2 Items   9.1 kB 0

Lists

This unit provides two types: an Integer list and a TStringList list.

Usage

The 'Interface' part of the unit looks as follows (the documentation is self explaining):

interface

uses Classes;

type

  TIntegerList = class
  private
    FList: array of Integer;
    FCount: Integer;
    FCapacity: Integer;
    procedure SetVal(Index: Integer; Value: Integer);
    function GetVal(Index: Integer): Integer;
    procedure AddCapacity;
  public
    constructor Create;
    destructor Destroy; override;
    procedure Clear;
    procedure Add(Val: Integer);
    procedure Insert(Index, Val: Integer);
    procedure Delete(Index: Integer);
    procedure Exchange(Index1, Index2: Integer);
    property Count: Integer read FCount write FCount;
    property Value[Index: Integer]: Integer read GetVal write SetVal; default;
  end;

  TStringListList = class
  private
    FStringListList: array of TStringList; // the stringlists
    FCount: Integer; // number of Stringlists
    function GetList(ListIndex: Integer): TStringList;
    procedure SetList(ListIndex: Integer; Val: TStringList);
  public
    constructor Create;
    destructor Destroy; override;
    procedure Clear;
    procedure Add(Val: TStrings);
    procedure Insert(Index: Integer; Val: TStrings);
    procedure Delete(Index: Integer);
    procedure Exchange(Index1, Index2: Integer);
    property Count: Integer read FCount write FCount;
    property StringList[ListIndex: Integer]: TStringList read GetList write SetList; default;
  end;

Have fun!

Source: ReadMe.md, updated 2024-04-13