| Autor |
Beitrag |
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 14.10.03 09:59
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
      
Beiträge: 87
98, XP
D3, D5, D7
|
Verfasst: 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
      
Beiträge: 992
Erhaltene Danke: 1
WIN 7
D7 Prof., C#, RAD XE Prof.
|
Verfasst: 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.
_________________ Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)
|
|
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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
      
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: 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; |
_________________ mfg.
mâximôv
|
|
DaBass
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 14.10.03 10:51
vielen dank, es funktionert einwandfrei
|
|
Shark
      
Beiträge: 87
98, XP
D3, D5, D7
|
Verfasst: Di 14.10.03 11:06
|
|