Thema: Delphi Die ord() Funktion

Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Die ord() Funktion

  Alt 4. Mär 2008, 20:00
Zitat von generic:
ord ist noch einfacher.

ord gibt den index eines eintrages aus eine liste zurück.

das kann z.b. der ascii code sein aus der ascii liste.
es kann aber auch ein index aus einer einfachen aufzählung sein.
bist du dir sicher?

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.
Wenn du dir ansiehst was der Compiler generiert, wirst du sogar feststellen das ord(wert) und byte(wert) das gleiche ergibt (eben weil es nur ein einfacher cast ist).
Delphi-Quellcode:
type
  TMyEnum = (me0, me1, me2, me50 = 50, me51);
[...]
showmessage(inttostr(ord(me50)));
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat