Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.061 Beiträge
 
Delphi 12 Athens
 
#7

Re: Kompletten Type in Combobox, Variable Werte

  Alt 21. Jan 2009, 08:49
Zitat von HenKst:
Die Schleife dürfte so nicht functionieren.
Doch! Na ja, fast.

Zitat von HenKst:
ord(high(FruchtTyp)) ist ja schon der index des letzten Elements, davon succ ist dieser Index +1, gibts also nicht.
Deswegen zieht er ja auch 1 davon ab!

Zitat von HenKst:
Ich weiss sowieso nicht was succ von nem ord bzw ord von nem integer bewirken soll.
succ gibt einfach den nächst höheren Wert der übergenen Variablen zurück. Bei einem Integer ist das wieder ein Integer, bei einem Aufzählungstyp ist das auch wieder dieser Typ.

Zitat von HenKst:
high(FruchtTyp) gibt schon nen integer zurück, davon ord ist eigentlich wenig sinnig.
und succ(ord(i)) ist = i+1...
high(FruchtTyp) gibt keinen Integer zurück, sondern einen FruchtTyp - genauer gesagt, den höchsten FruchtTyp.

Die Funktionen succ, pred, high und low geben alle genau den Typ zurück, dere ihnen übergeben wurde. Pascal's Typsicherheit läßt grüßen.

Ich gestehe aber zu, daß die Schleifengrenze unnötig kompliziert angegeben wurde (mal abgesehen davon, daß ord(I) natürlich nicht geht):

Delphi-Quellcode:
var
  ft: FruchtTyp;

for ft := low(FruchtTyp) to high(FruchtTyp) do
begin
  Showmessage(FruchttypToStr(ft));
end;
Bei neueren Delphi-Versionen geht auch dies:

Delphi-Quellcode:
var
  ft: FruchtTyp;

for ft in FruchtTyp do
begin
  Showmessage(FruchttypToStr(ft));
end;
Uwe Raabe
  Mit Zitat antworten Zitat