Thema: Delphi Array und negativ werte.

Einzelnen Beitrag anzeigen

hanvas

Registriert seit: 28. Okt 2010
157 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Array und negativ werte.

  Alt 30. Apr 2017, 19:00
Danke. Die Idee ist nicht schlecht
Aber!

Ich kann "a" nicht als TNegativeArray definieren..
Denn "a" ist schon als a: TSprite (Record) definiert.
Dann schreib halt irgendeinen anderen Bezeichner hin. Da du SP verwendest schreib halt

Delphi-Quellcode:

TYPE TSprite = record
      x: Integer;
      y: Integer;
      w: Integer;
      h: Integer;
      visible: Bool;
     end;

     TNegativeArray = class(TObject)
     private
      maxVal : Integer;
      fdata : array of TSprite;

      function getData(index : Integer) : TSprite; inline;
      procedure setData(index : Integer; aData : TSprite); inline;
     public
      Constructor Create(aLenght : Integer);
      Destructor Destroy; override;
     property
       Data [ index : Integer ] : Irgendwas
         read getData write setData; default;
     end;

implementation

Constructor TNegativeArray.Create(aLenght : Integer);
begin
 inherited;
 SetLength(fdata,aLength);
end;


function TNegativeArray.getData(index : Integer) : TSprite;
begin
 assert(index<=0);
 result := fData[abs(index)];
end;

procedure TNegativeArray.setData(index : Integer; aData : TSprite);
begin
 assert(index<=0);
 fData[abs(index] := aData;
end;
und verwende das ganze so

Delphi-Quellcode:

const
  ID_LEFT = -1;
  ID_RIGHT = -2;

var sp : TNegativeArray; // Sprite Stack

begin
 sp := TNegativeArray.Create(3); // Hat Element -1, -2 _und_ 0
 sp[ID_LEFT].x := 0;
 ....
end.

cu Ha-Jö
  Mit Zitat antworten Zitat