
Zitat von
xZise:
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
TBlock = class(TObject)
private
FX, FY : Integer;
public
property X : Integer read FX;
property Y : Integer read FY;
constructor Create(const AX, AY : Integer);
end;
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
Delphi-Quellcode:
FList : TObjectList;
[...]
FList := TObjectList.Create;
[...]
block := TBlock.Create([...]);
[...]
FList.Add(block);
[...]
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
Delphi-Quellcode:
TBlockList = class (TObject)
private
FList : TObjectList;
function GetBlock(AIndex : Integer) : TBlock;
procedure SetBlock(AIndex : Integer; Value : TBlock);
public
procedure Add(ABlock : TBlock);
procedure Delete(ABlock : TBlock);
property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default;
constructor Create;
destructor Destroy;
end;
Und fertig
Naja jedenfalls die Definition der Klassen.
Diese kannst du genauso wie eine TObjectList-Liste verwenden.
MfG
xZise
PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]"

[Fehler] Unit1.pas(58): Undefinierter Bezeichner: 'TObjectList'
[Fehler] Unit1.pas(59): Undefinierter Bezeichner: 'TBlock'
[Warnung] Unit1.pas(68): Methode 'Destroy' verbirgt virtuelle Methode vom Basistyp 'TObject'
[Fataler Fehler] Unit1.pas(205): Verwendete
Unit 'Physik.pas' kann nicht compiliert werden