Hallo,
ich schreibe demnächst eine Prüfung in Object Pascal und bin deshalb einpaar alte Prüfungen durchgegangen.
Nun bin ich auf einer Aufgabe gestoßen, wo ich "einen" Typen erstellen soll.
(Hätten sie uns in den Übungen nicht ständig die Typen vorgegeben, wäre das heute sicherlich kein Problem ^^)
Die Aufgabe lautet:
Deklarieren Sie einen Datentyp TSoftwarebestand, der geeignet ist, die Daten
zum Softwarebestand eines Unternehmens zusammenzufassen. Die folgenden
Daten sind festzuhalten:
• Für die Software-Kategorien Text, Grafik, Analyse, Web und System soll jeweils
eine beliebig lange Liste von Software-Produkten geführt werden
• Zu jedem Software-Produkt soll seine Bezeichnung und seine Version als
beliebige Zeichenfolge, eine beliebig lange Liste von Lizenzangaben, Daten zu
den Systemvoraussetzungen sowie ein Kennzeichen, ob Support verfügbar ist
oder nicht, gespeichert werden
• Zu jeder Lizenz in einer Liste von Lizenzangaben sollen die folgenden Daten
festgehalten werden
• Eine Nummer
• Ein Freischaltcode als beliebige Zeichenfolge
• Das Datum, an dem die Lizenz erworben wurde
• Weitere Angaben, die von der Art der Lizenz (Einzel, Gruppe, Test)
abhängig sind.
•Für Einzellizenzen ist ein Kennzeichen, ob die Lizenz genutzt wird,
und der Name des Nutzers zu speichern
•Für Gruppenlizenzen ist maximale Anzahl von Nutzern sowie eine
beliebig lange Liste von Nutzern (jeweils nur der Name) zu speichern
•Für Test-Lizenzen ist das Datum des Ablaufens der Lizenz sowie ein
Kennzeichen, ob es sich um eine Vollversion handelt, zu speichern
• Als Daten zu den Systemvoraussetzungen ist zu speichern, welche der
Betriebssysteme Windows 98, Windows XP, Linux, MacOS, Citrix unterstützt
werden und wieviel Hauptspeicher und Festplattenspeicher benötigt wird
(jeweils Werte zwischen 128 und 1024 MB)
Gestalten Sie die Deklarationen so, dass für jeden auftretenden Wertebereich
ein separater Typbezeichner deklariert ist. Achten Sie auf problemadäquate
Wertebereiche für die Datentypen und aussagekräftige Bezeichner! Deklarieren
Sie für die Info-Komponente von dynamischen Listen einen eigenen
Datentyp!
----------------------------------------------------------------------------
so nun habe ich etwas gebastelt in der Hoffnung, dass mir jemand sagen kann,
ob alles falsch ist bzw. was falsch ist. Das letzte mal, dass ich mit Delphi gearbeitet habe ist leider auch eine Weile her, darum nicht gleich sauer sein, wenn da nur Müll steht
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
| TKategorie=(Text,Grafik,Analyse,Web,Sys); TOSystem=(win98,xp,linux,macos,citrix); TSpeicher=128..1024; TSystemMin=record OSystem:TOSystem; Speicher:TSpeicher; end;
TLizenztypen=(Einzellizenz,Gruppenlizenz,TestLizenz);
TnameList=^ElementName; ElementName=record Name:string; next:TnameList; end;
TLizenzInfo=record nummer:word; serial:string; datum:TDateTime; case Lizenztyp:Tlizenztypen of Einzellizenz:(inuse:boolean; name:string;); Gruppenlizenz:(maxNutzer:word; ersterName:TnameList;); TestLizenz:(Ablauf:TDateTime; Vollversion:boolean;); end;
TLizenzList=^LizenzElement; LizenzElement=record info:TLizenzinfo; next:TlizenzList; end;
TSoftwareInfo=record bezeichnung:string; version:string; erstelizenz:TlizenzList; SystemMin:TSystemMin; Support:boolean; end;
TSoftwareBestand=^TSoftwareElement; TSoftwareElement=record case Kategorie:TKategorie of text:(infoText:TsoftwareInfo; nextText:TSoftwareBestand); grafik:(infoGrafik:TsoftwareInfo; nextGrafik:TSoftwareBestand); . . .
end; |