Thema: Delphi Aufbau Klassenstruktur

Einzelnen Beitrag anzeigen

Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#1

Aufbau Klassenstruktur

  Alt 29. Mär 2009, 13:59
Hi,
Ich möchte gerne eine Daten bzw Objektstruktur anlegen. Dabei möchte ich gern die Klassen TKalender, TJahr, TMonat, TTag, TStunde und TMinute haben. Dann soll jede der Klassen ein dynamisches Array von der darunter liegenden Zeiteinheit haben, also der Kalender soll ein Array von Jahren haben, das Jahr ein Array von Monaten usw. Nur die Minuten sollen ein Array von einem Record haben.

In dieser Strukur möchte ich dann gerne meine Records speichern. Eine Variable dieses Record Typs hatt ein Datum als Eigenschaft. Wenn ich die Variable also dem Kalender hinzufüge (kalender.add), soll dieser sich das Datum ansehen und es quasi weiterreichen und dem entsprechenden Jahr übergeben (jahr.add) das wiedderrum an den richtigen Monat weiterreiche usw, bis ich die Variable schließlich in der richtigen Minute dann tatsächlich speichere.

Dann soll es anschließend noch Funktionen geben, die beispielsweise die Anzahl der Variablen in einem Jahr berechnen indem die Anzahl der Variablen je Monat addiert werden, und diese dann jeweils aus der Summe der Variablen der einzelnen Tage berechnet werden usw. bis ich bei den Minuten angelangt bin und nur noch die Länge des Arrays meines records angucken muss.


Jetzt meine eigentliche Frage: Wie löse ich das ganze möglichst elegant. Die einzelnen Zeitklassen Tkalender, TJahr usw sehen eigentlich fast gleich aus, sie brauchen ein array der darunter liegenden Zeiteinheit und auch die selben Funktionen bzw, die Prozedur Add zum hinzufügen eines Datensatzes.
Ich hatte das ganze zunächst so gelöst, dass ich halt 6 verschiedene Klassen angelegt hab und mit Copy und Paste dann jeweils alles angepasst. So dass dann Tkalender ein array of Tjahr hat und Tjahr dann ein Array of TMonat usw.

hat vielleicht jemand eine Idee wie ich das vielleicht mit Vererbung besser machen kann? So das ich vllt sogar nur eine Klasse hab namens TZeitEinheit, die dann wiederrum ein Array von TZeitEinheit hat usw? Nur mir ist nicht klar wie ich dann die TMinute, die ja anders aussieht als die anderen Klassen, da sie ja ein Array meines Records hatt da unterbringen soll. Ausserdem muss ich ja wissen ob ich grad in einem Monat bin und mir vom zuspeichernden Datensatz jetzt den Tag angucken muss oder doch die Stunde.

Würde mich über tipps sehr freuen
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat