Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#7

Re: StringToBenutzerdefinierter Typ

  Alt 19. Dez 2003, 14:32
Typisierte ordinaltypen werden intern behandelt wie normale Ordinaltypen. Daher ist es generell möglich diese Typen in beide Richtungen zu casten:
Code:
 Integer(mtFoo)=0  <-> TMyType(0)=mtFoo
 Integer(mrBar)=1  <-> TMyType(1)=mtBar
Interessant wird diese Betrachtung, wenn man sich überlegt, dass
Delphi-Quellcode:
type
  TMySet = set of TMyType;
Tatsächlich einem "Strom" von Bits entspricht, wobei dann das nullte Bit (mtFoo) entspricht, usw

Beachten solltest Du noch, dass GetEnumValue den Wert -1 zurückgibt, falls der Identifier nicht zugeordnet werden konnte, der Cast selbst (Integer(GetEnumValue(...))) macht hier keine weiteren Prüfungen!
gruß, choose
  Mit Zitat antworten Zitat