Thema: Delphi Die ord() Funktion

Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Die ord() Funktion

  Alt 4. Mär 2008, 21:10
Hallo Jens,

Zitat von SirThornberry:
Dann müsste folgendes Beispiel eigentlich 3 ausgeben (weil me50 an dritter Stelle steht). Tatsächlich wird aber 50 ausgegeben weil nicht der Index von ord zurück gegeben wird sondern die Bytes des übergebenen Wertes werden als ordinaler Wert interpretiert. Folglich ein ganz normaler cast.
Man könnte es auch so interpretieren: me50 steht an der 51. Stelle, du wolltest aber nicht alle Werte mit einem Namen versehen:

Delphi-Quellcode:
type
  TMyEnum = (me0, me1, me2, me50 = 50, me51);
var
  MySet : set of TMyEnum;
begin
  MySet := [me0..me51];

  if (TMyEnum(42) in MySet) then
    ShowMessage ('surprise');
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat