| kingsize61 hat folgendes geschrieben: |
| Der compiler speichert ja ne menge information zu jeder variablen., wie namen, länge, typ u.s.w. Nur an den namen müsste ich dran kommen. |
An den Namen der Instanz, also iWelt kommst du so nicht, nur an die Daten des Typ´s Integer.
Es gibt aber ein Workaround um solche Beziehungen herzustellen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| uses ..., TypInfo; type TMyVars = (iWelt, iStadt, iLand, iFluss); TMyVarValues = Array [TMyVars] of Integer; ... var s : String; i: Integer; iMyVar: TMyVars; iMyVarOrd :Integer; MyVarValues: TMyVarValues; begin iMyVar := iWelt; MyVarValues[iMyVar] := i; s := GetEnumName(TypeInfo(TMyVars), Ord(iMyVar)); s := 'iFluss'; iMyVarOrd := GetEnumValue(TypeInfo(TMyVars), s); iMyVar := TMyVars(iMyVarOrd); i := MyVarValues[iMyVar]; end; |
Das GetEnumValue und GetEnumName liesse sich auch in Funktionen packen, dann fällt viel Ballast weg.
Auf diese Art kannst Du beliebig zwischen Wert, Name und Aufzählungstyp switchen.
MfG,
Tryer