An und für sich sind es 7 Einträge in der Enummeration, das Ergebnis ist aber 16. Das die Enums fixiert sind, ist der Umgebung geschuldet, da ich auf vorhanden Werte in anderen Systemen Rücksicht nehmen muss.
Ich habe aber auch keine Methode gefunden, wie ich über 'faule' Werte drüberspringen kann. Das würde auch schon reichen.
Sehr ihr da eine Lösung ?
Code: Alles auswählen
.....
type
ETeil = (TeilNone=0, TeilA=1, TeilB=2, TeilC=3, TeilGA=10, TeilHBL=11, TeilBM=15);
......
uses
uTeilTypen, TypInfo;
{ TForm1 }
procedure TForm1.BuAnzahlClick(Sender: TObject);
var
Cnt: Integer; // Gesuchte Anzahl von ENumElementen in TTeil
S: ETeil;
N: string; // Name
begin
Cnt:= 0;
for S:= TeilNone to TeilBM do begin
Cnt:= Cnt +1;
end;
// for S in ETeil do begin
// Name := '';
// Name := GetEnumName(TypeInfo(ETeil),ord(S));
// Cnt:= Cnt +1;
// end;
LblAnzahl.Caption:= IntToStr(Cnt);
end;