Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mi 04.12.02 03:52 
Hi,

kann ich irgendwie einen Recursiven Record erstellen???

Sowas wie z.B.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
Type
  TBox = Record
    X: Integer;
    Y: Integer;
    Z: Integer;
    Box: TBox;
  end;


So das ich halt in dem Record "TBox" denselben Record ein weiteresmal habe.. :)

So das ich irgendwann z.B. Box.Box.Box.Box.Box.Box.Box.X machen könnte...

Au'revoir,
Aya

PS: Ich brauche das ganze dafür:
Ich habe einen großen Würfel, TBox... ich unterteile diesen einen Würfel in 8 weitere, muß die irgendwo abspeichern... diese 8 Würfel unterteile ich wieder jeweils in 8 stück und auch das muß gespeichert werden... diese dann wieder jeweils in 8... usw.. und das beliebig oft :)

Für andere lösungsvorschläge bin ich auch dankbar
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Mi 04.12.02 07:12 
Hallo,

das geht so nicht, da Delphi in dem Fall Theoretisch ja unentlich viel Speicher reservieren müsste.
Du kannst aber eine Verkettete Liste erstellen:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Type
 PBox = ^TBox;
 TBox = Record
  X: Integer;
  Y: Integer;
  Z: Integer;
  Box: PBox;
 end;

Dann musst du nur für jede Instanz den Speicher selber Reservieren (NEW). In diesem Topic, ziemlich weit unten habe ich mal ein paar grunglegende funktionen auf Basis von verketteten Listen zusammengefasst. Das könnte dir vieleicht helfen.

Gruß
Klabautermann