// Пишем класс, который будет вести себя статический массив :-)
type
TtipaStaticArray = class
private
FLowInd: Integer;
FHighInd: Integer;
FData: array of Integer;
function Get(Index: Integer): Integer;
procedure Put(Index: Integer; const Value: Integer);
public
constructor Create(LowInd, HighInd:Integer);
destructor Destroy; override;
property Items[Index: Integer]: Integer read Get write Put; default;
property Low_: Integer read FLowInd;
property High_: Integer read FHighInd;
end;
//...
implementation
{ TtipaStaticArray }
constructor TtipaStaticArray.Create(LowInd, HighInd: Integer);
var
i: Integer;
begin
FLowInd := LowInd;
FHighInd := HighInd;
SetLength(FData,FHighInd-FLowInd+1);
for i := Low(FData) to High(FData) do
FData[i] := 0;
end;
destructor TtipaStaticArray.Destroy;
begin
SetLength(FData,0);
inherited;
end;
function TtipaStaticArray.Get(Index: Integer): Integer;
begin
Result := FData[Index-FLowInd];
end;
procedure TtipaStaticArray.Put(Index: Integer; const Value: Integer);
begin
FData[Index-FLowInd] := Value;
end;