AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente ableiten

Ein Thema von hansklok · begonnen am 30. Aug 2010 · letzter Beitrag vom 1. Jan 2011
 
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#8

AW: Komponente ableiten

  Alt 2. Sep 2010, 00:45
Lieber Christian,

das ist ja ne Menge.

Was die Verwandtschaftsverhältnisse betrifft, so hast du meines Wissens nach alle Eventualitäten genannt. Das ist für den Anfang ganz schön viel.
Den Vorschlag einer Adoption eine eigene Klasse zu widmen finde ich sehr gut, auch, wenn die gängigen Genealogieprogramme Adoptiveltern zulassen. Es wird eine neue Familie (TPartnership) erzeugt und das Kind hinzugefügt. Diesem wird dann der Status "adoptiert" zugeordnet. Im Gedcom-Standard ist diese Eigenschaft unter "PEDIGREE_LINKAGE_TYPE" definiert. Siekann folgende Werte annehmen:
  • adopted - zeigt Adoptiveltern an
  • birth - zeigt biologische Eltern an
  • foster - zeigt an, dass das Kind in einer Pflegefamilie oder Vormundschaft war
  • sealing - zeigt an, dass das Kind an andere als seine leibliche Eltern gesiegelt wurde (speziell bei Mormonen)
Erklär mir deine Überlegung mit "TAdoption" bitte nochmal genauer.

Zu TVagueDate Auch diese Überlegung ist richtig. Aber die Sache verkompliziert sich noch, da hier der Gedcom-Standard ebenfalls detailliertere Optionen bietet:
  • DATE_APPROXIMATED - Datum, genähert
  • ABT = “um” oder “circa”
  • CAL = das Datum ist nicht exakt
  • EST = mathematisch errechnet, z. B. durch ein Ereignis und ein Alter. auf der Basis eines Algorithmus und eines anderen Datums geschätzt.
  • DATE_EXACT - exaktes Datum (z.B. 01.01.2000)
  • DATE_PERIOD - Datum, Zeitspanne
    • FROM = kennzeichnet den Beginn eines Ereignisses oder Status
    • TO = kennzeichnet das Ende eines Ereignisses oder Status
    • FROM Datum TO Datum
  • DATE_PHRASE - beliebige Aussage zum Datum, sozusagen benutzerdefiniert
  • DATE_RANGE - Datum, zeitlich eingegrenzt
    • AFT = Das Ereignis fand nach dem angegebenen Datum statt
    • BEF = Das Ereignis fand vor dem angegebenen Datum statt
    • BET Datum AND Datum = Das Ereignis fand irgendwann zwischen dem 1. und dem 2. Datum statt
  • Da muss also TVagueDate noch überarbeitet werden

    Das Beispiel, das eine Person eine weitere Person heiratet ist auch super verständlich. Warum kompliziert, wenns auch einfach geht

    Was eine Exception ist weiß ich, aber was ist das: Exception: EMarriageImpossibleException; bzw. was hast du Dir darunter vorgestellt?

    Selbst wenn eine Person bereits ein Vater zugewiesen ist, so muss ein erneuter Aufruf von AddFather nicht zwangsläufig zu einem Fehler führen, dann wird der vorhandene Vater einfach durch einen Anderen ersetzt!

    Alle genannten Invarianten leuchten mir ein, stimme Dir zu!

    Eine zusätzliche Invariante wäre z.B. noch
    • Sterbedatum der Ehepartner muss nach dem Heiratsdatum liegen!
    So das sind erstmal meine Anmerkungen zu deinem letzten Beitrag.

    Eine ganz blöde Frage noch. Ich implementiere die Klasse TPerson und vorher TPartnership, da diese ja innerhalb der Klasse TPerson verwendet wird. Nun ruft aber die Klasse TPartnership innerhalb eventuell auch einmal TPerson auf. Beim Kompilieren kommt es zu einem Abbruch, logisch, woher soll TPartnership TPerson kennen, wenn es erst danach implementiert ist. Verstehst du? Gibts da ne Lösung für, bestimmt, nur ist sie mir nicht geläufig!

    VG

    hansklok
      Mit Zitat antworten Zitat
     


    Forumregeln

    Es ist dir nicht erlaubt, neue Themen zu verfassen.
    Es ist dir nicht erlaubt, auf Beiträge zu antworten.
    Es ist dir nicht erlaubt, Anhänge hochzuladen.
    Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

    BB-Code ist an.
    Smileys sind an.
    [IMG] Code ist an.
    HTML-Code ist aus.
    Trackbacks are an
    Pingbacks are an
    Refbacks are aus

    Gehe zu:

    Impressum · AGB · Datenschutz · Nach oben
    Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
    Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
    LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
    Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz