Autor Beitrag
nallebah
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 21.09.08 14:01 
Moderiert von user profile iconGausi: Frage abgetrennt von [url=www.delphi-forum.de/...?t=38033]hier[/url].

Hallo, ich stehe gerade total auf dem Schlauch und bräuchte jemanden, det mir einen Tipp in die richtige Richtung gibt.
Vielleicht erst einmal kurz meine Leidensgeschichte: Ich sitze hier in Schweden und studiere neben der Arbeit her C# an der Uni Malmö (Distans).
Leider habe ich bei der Studienwahl etwas vermurkst - nach dem Grundkurs habe ich den Folgekurs übersprungen und finde mich auf einmal
bei Datenstrukturen wieder. Kein Problem, dachte ich, ich bin kaltes Wasser gewöhnt .... doch nun zu meiner Einsendeaufgabe:
(wie gesagt: ich erwarte bei Gott keine Lösung, vielleicht nur einen kleinen Hinweis in die richtige Richtung)

1. Es gibt verschiedene Kurse (mit Namen, id-nummer, etc), welche
2. mehrere Studenten (Vorname, Name, id-Nummer) haben, die wiederum
3. mehrere Kursmomente (Noten: sehr gut, befriedigend, ungenügend) absolvierten

Das Programm soll zum einen diese Datenstrukturen abbilden und zum anderen Möglichkeiten haben neue Datenobjekte zu erstellen, vorhandene
zu editiern, löschen sowie Sortierfunktionen bieten. So soll man z.B. einzelne Kursmomente löschen können, welche dann von allen Studenten verschwinden.
Auf einem Form soll man dann u.A. einen Bindingnavigator anwenden.

Ich habe versucht (unter immensen Zeitdruck) mir alles über Listen, Generics, etc anzueignen, aber ich stelle fest dass ich einfach die falsche
Denkweise habe. Ich denke die ganze Zeit in relationalen Datenbanken, möchte irgendwie Beziehungen zwischen den Objekten definieren und weiss nicht wie.
Meiner Ansicht nach sollte es ja irgendwie so gehen:

Irgendeine passende Liste typ (Klasse) Kurs
- Klasse Kurs enthält wiederum eine passende Liste von typ ( Klasse)Student
- Student wiederum enthält wiederum eine Liste von Typ (Klasse) Kursmoment

Das scheint jedoch nicht der richtige Weg zu sein, oder doch?

Frage: Wo und wie legt man die Beziehungen zwischen den einzelnen Objekten fest??????
Welchen Typ Datenstruktur verwendet man? Einige Stichwörter würden schon ungemein helfen, sonst
muss ich den ganzen Kurs abblasen, was für mich recht bitter wäre....

Vielen Dank an Alle,

Paul
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mo 22.09.08 10:42 
Hallo,

die Hauptfrage ist, ob du mit externen (SQL-) Tabellen arbeiten sollst (willst), oder ob du nur interne Datenstrukturen verwenden willst?

Für ersteres schau dir mal unbedingt www.galileocomputing...nbook/visual_csharp/ ab Kapital 28 (DataSet) an.
Zur Visualisierung dann einfach eine DataGridView mit BindingSource und BindingNavigator auf ein Formular ziehen und die Daten dann aus der Tabelle mittels DataAdapter.Fill() einlesen.

Wenn du aber nur mit internen Datenstrukturen arbeiten willst, dann sind die generischen Container, wie z.B. List<> schon die Richtigen.
Du erzeugst dir einfach entsprechende Klassen 'Kurs', 'Student', 'Kursmoment'. Dann legst du davon dann List<Kurs> etc. an und kannst diese dann auch mittels DataBinding an z.B. eine DataGridView zur Visualisierung und Bearbeitung hängen.

Viel Erfolg noch!
nallebah Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 24.09.08 14:12 
Vielen, vielen Dank,

das hilft mir schon mal weiter! Was mir noch nicht ganz klar ist, ist wie ich die Sache mit den Kursmomenten lösen soll.
Soweit ich verstanden habe, beinhaltet:

1. Jeder Kurs eine Liste mir Studenten.

und dann war ich geneigt, jedem Studenten eine Liste mit den Kursmomenten zu geben. Jedoch:
Alle Studenden haben die gleichen Kursmomente, und wenn man ein Kursmoment löscht (oder hinzufügt) so betrifft es alle
Studenten gleichermaßen. Wenn ich jedem Studenen eine Liste mit Kursmomenten gebe, dann muß ich diese ja bei Änderungen bei jedem Studenten durchiterieren. Gibt es nichts Eleganteres???
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 489
Erhaltene Danke: 14

Win 10, Win 8, Debian GNU/Linux
Delphi 10.1 Berlin, Java, C#
BeitragVerfasst: Mi 24.09.08 15:28 
Du musst nur sicherstellen, dass alle Stunden auf das gleiche (selbe) Objekt Kursmomente verweisen, dann wirken sich Änderungen an diesem Objekt (der Liste) direkt auf alle anderen Objekte aus, die eine Referenz(!) dieses Objekts haben.
nallebah Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 24.09.08 15:43 
user profile iconbaka0815 hat folgendes geschrieben:
Du musst nur sicherstellen, dass alle Stunden auf das gleiche (selbe) Objekt Kursmomente verweisen, dann wirken sich Änderungen an diesem Objekt (der Liste) direkt auf alle anderen Objekte aus, die eine Referenz(!) dieses Objekts haben.


Mir ist ein Fehler unterlaufenö. Die von Dir vorgeschlagene Lösung hatte ich tatsächlich im Hinterkopf ... bis ich allerdings
las dass jeder Student individuelle Noten in den Kursmodulen haben soll.
Bitte um Entschuldigung. Aber die ganze Aufgabenstellung ist solch ein Kauderwelsch....:-( Die Schweden haben es leider nicht so mit strukturiertem Arbeiten .... :-( Und das gilt auch für die Lehrer und Assistenten an den Hochschulen. Da lob ich mir doch good old Germany!