Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ordinaltyp - Obergrenze (https://www.delphipraxis.net/121446-ordinaltyp-obergrenze.html)

Prototypjack 27. Sep 2008 21:52


Ordinaltyp - Obergrenze
 
Moin,

Ich habe hier gerade ein kleines Problem, denn mir will einfach nicht mehr einfallen, wie man die Obergrenze (also den ordinalen Maximalwert) eines Ordinaltyps erfahren kann.

Delphi-Quellcode:
TObst = (obApfel, obBirne, obBanane);

procedure Foo;
begin
  Length(TObst); // Funktioniert leider nicht
  High(TObst); // auch nicht;
end;
Als gewünschtes Ergebnis hätte ich gerne 2 (0, 1, 2 = letzter, möglicher Wert)

Danke & Grüße,

Max

PS: Gesucht habe ich auch schon, aber nichts gefunden (irgendwie wollen mir auch nicht die richtigen Suchbegriffe einfallen).

Dax 27. Sep 2008 21:57

Re: Ordinaltyp - Obergrenze
 
Du suchst Delphi-Referenz durchsuchenHi und Delphi-Referenz durchsuchenLo (so hiessen die, glaub ich)...

Prototypjack 27. Sep 2008 21:59

Re: Ordinaltyp - Obergrenze
 
Moin,

Selbst dann bekomme ich noch die Meldung: Inkompatible Typen.

Grüße,
Max

omata 27. Sep 2008 22:04

Re: Ordinaltyp - Obergrenze
 
Delphi-Quellcode:
max_index:=ord(high(TObst));

Prototypjack 27. Sep 2008 22:10

Re: Ordinaltyp - Obergrenze
 
Moin,

Ach, ich Trottel. Ich lag mit High() von Anfang an richtig, ich ging nur davon aus, dass es mir einen Integer-Wert liefert. Aber High() ist ja durch die *wuppdi*-Compiler-Magic dazu befähigt mir meinen Ordinaltyp direkt wiederzugeben (also obBanane in diesem Fall).

Mit

Delphi-Quellcode:
Ord(High(TObst));
geht es.

Grüße,

Max

Edit: Genau. Danke Omata ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz