Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: konzeptionelle Gedanken optische Darstellung Stammbaum

  Alt 13. Mai 2018, 23:20
Also erst einmal hierzu:
Ich würde TTreeItem (oder besser TPerson) so definieren:

Delphi-Quellcode:
TPerson = class
  Mother: TPerson;
  Father: TPerson;
  Name: String;
end;
Und mehr brauchst du gar nicht. Die Kinder musst du gar nicht speichern, weil sie sich implizit ergeben: Das sind die Personen, wo entweder Father oder Mother das jeweilige Subjekt sind.
Wenn Du Dich auf rein biologische Vorgänge beschränkst (keine Adoption o.ä.) ist diese Struktur ausreichend frei nach "Mater semper certa est " ist die "Mutter" in den meisten Fällen bekannt. Wobei es auch hierbei Ausnahmen geben kann (z.B. Findelkinder).D.h in den meisten Fällen ist Mother/Father nicht Nil. Geschwister einer Person sind somit alle Personen deren Father oder Mother mit Father oder Mother der Person übereinstimmen.
Willst Du hingegen die Möglichkeiten die sich juristisch ergeben können, wirst Du nicht umhin kommen deine Daten in einer solchen (oder ähnlichen) Struktur abzulegen:
Delphi-Quellcode:
TRelPerson =class
  relatedPersID : tID;
  reltype : Treltype;
end;


TPerson = class
  relpersonslist: tlistofRelPerson;
  Name: String;
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat