sTorm009
Member
- Joined
- Mar 1, 2004
- Messages
- 154
Hallo, ich suche dringend jemanden der sich mit Object Pascal auskennt 
Schreibe demnächst eine Prüfung und bin deshalb einpaar alte Prüfungen durchgegangen.
Da bin ich auf eine Aufgabe gestoßen, wo ich "eine" Typdeklaration erstellen soll. (Hätten sie uns in den Übungen nicht ständig die Typen vorgegeben, wäre das heute sicherlich kein Problem <_< ).
Natürlich habe ich meine Frage auch schon in einem Delphi-Forum gestellt aber ich zweifel langsam dran, dass ich noch eine Antwort erhalte ...
Unter der Aufgabe steht meine Lösung die sehr wahrscheinlich nich richtig ist... ^^ Deshalb wäre ich überaus dankbar, wenn mir jemand sagen könnte was falsch ist bzw. ob alles falsch ist :roll:
Also 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!
-------------------------------------------
Meine Lösung:
Schreibe demnächst eine Prüfung und bin deshalb einpaar alte Prüfungen durchgegangen.
Da bin ich auf eine Aufgabe gestoßen, wo ich "eine" Typdeklaration erstellen soll. (Hätten sie uns in den Übungen nicht ständig die Typen vorgegeben, wäre das heute sicherlich kein Problem <_< ).
Natürlich habe ich meine Frage auch schon in einem Delphi-Forum gestellt aber ich zweifel langsam dran, dass ich noch eine Antwort erhalte ...
Unter der Aufgabe steht meine Lösung die sehr wahrscheinlich nich richtig ist... ^^ Deshalb wäre ich überaus dankbar, wenn mir jemand sagen könnte was falsch ist bzw. ob alles falsch ist :roll:
Also 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!
-------------------------------------------
Meine Lösung:
Code:
<i>
</i>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;