Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Neuer Datentyp erstellen
Delete - Di 14.10.03 09:59
Titel: Neuer Datentyp erstellen
Ich möchte einen neuen Datentyp erstellen.
Der DatenTyp ist ähnlich wie Boolean, nur dass er vier möglichkeiten bereitstellen muss. und die sind:
- passed
- failed
- performed
- none
wie kann ich einen solchen Datentyp erstellen, bzw. wie kann ich den Boolean verändern und anpassen??
Shark - Di 14.10.03 10:16
Versuch es mit einer Menge, dann kannst Du mit case of abfragen...
Quelltext
1:
| type TState = (stPassed,stFailed,stPerformed,stNone); |
smiegel - Di 14.10.03 10:23
Hallo,
@Shark
Das ist keine Menge sondern ein Aufzählungstyp.
Eine Menge wird in der Form
Delphi-Quelltext
1: 2:
| type TState = set of (stPassed, stFailed, stPerformed, stNone); |
deklariert.
Delete - Di 14.10.03 10:31
Wie muss ich den Datentyp definieren, damit ich sie in einer Case anweisung auswerten kann??
Fehlermeldung:
[Fehler] mainUnit.pas(370): Ordinaltyp erforderlich
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| case TestState of stPassed: ...; stFailed: ...; stPerformed: ...; stNone: Status := ...'; end; |
Klabautermann - Di 14.10.03 10:41
Hi,
| DaBass hat folgendes geschrieben: |
| Wie muss ich den Datentyp definieren, damit ich sie in einer Case anweisung auswerten kann?? |
da kannst du den Aufzählungstyp von Shark nehmen.
Gruß
Klabautermann
maximus - Di 14.10.03 10:45
Wenn du es nicht als menge definierst, sondern als enum, muss es gehen:
Delphi-Quelltext
1:
| type TState = (stPassed,stFailed,stPerformed,stNone); |
mfg.
PS: wenn du sets (mengen) verwenden willst, dann musst du if benutzen:
Delphi-Quelltext
1:
| if stFailed in testSTate then makeIt; |
Delete - Di 14.10.03 10:51
vielen dank, es funktionert einwandfrei
Shark - Di 14.10.03 11:06
Ja es ist ein Aufzählungstyp! :oops:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| type TState = (stPassed, stFailed, stPerformed, stNone);
var myState: TState;
myState := stNone; case myState of stNone:...; ...
else ... end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!