Delphi-Quellcode:
TKartenWert = 1..13; // 1 = AS, 11 = Bube, 12 = Dame, 13 = König
TKartenFarbe = (kfKaro, kfHerz, kfPik, kfKreuz);
TKartenPosition = 1..5;
Hierdurch wurden drei Typen deklariert. Integer ist auch ein Typ, nur dass man den nichtmehr selbst deklarieren muss. Die Variablen und Parameter sollten dann
nicht den
Namen, sondern den
Typen TKartenFarbe o.ä. haben. Man deklariert ja auch keine Variablen namens Integer, sie sind höchstens vom Typ Integer. Die meisten Typen beginnen mit dem Präfix "T", wenn man einen Typen (Integer ist da eine der ganz wenigen Ausnahmen). Die Parameter- und Variablennamen sollten deswegen nicht auch mit T anfangen. Das führt nur zu Verwirrung.
Du müsstest deinen Konstruktor so umschreiben:
Delphi-Quellcode:
constructor TKarte.create(Wert: TKartenWert; Position: TKartenPosition; Farbe: TKartenFarbe);
begin
inherited create;
FWert := Wert;
FPosition := Position;
FFarbe := Farbe;
end;
Das heißt es wird ein Parameter Namens Wert vom Typ TKartenWert übergeben. Das Feld deiner Klasse namens FWert ist ebenfalls vom Typen TKartenWert.
Weiß nicht, ob's klar geworden ist, komisch zu erklären. Sonst frag nochmal nach.