Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Type zuweisung


Phil3k - Di 23.10.07 12:51
Titel: Type zuweisung
Moin Jungs,

ich hab mal ne frage.. ich erstellt mir hier ein haufen von Datentypen und zwar so


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
type
  Tzweier = 1..4;
  Tdreier = 1..4;
  tvierer = 1..4;
  tfuenfer = 1..4;
  tsechser = 1..4;
  tsiebener = 1..4;
  tachter = 1..4;
  tneuner = 1..4;
  tzehner = 1..4;
  tbuben = 1..4;
  tdamen = 1..4;
  tkoenig = 1..4;
  tasse = 1..4;


dann weise ich den datentypen eine variable und einen gewissen zahlenwert zu sieht so aus


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var zweier: set of Tzweier = [0,1,2,3];
var dreier: set of Tdreier = [4,5,6,7];
var vierer: set of Tvierer = [8,9,10,11];
var fuenfer: set of Tfuenfer = [12,13,14,15];
var sechser: set of Tsechser = [16,17,18,19];
var siebener: set of Tsiebener = [20,21,22,23];
var achter: set of Tachter = [24,25,26,27];
var neuner: set of tneuner = [28,29,30,31];
var zehner: set of tzehner = [32,33,34,35];
var buben: set of tbuben = [36,37,38,39];
var damen: set of tdamen = [40,41,42,43];
var koenig: set of tkoenig = [44,45,46,47];
var asse: set of tasse = [48,49,50,51];


jetzt hab ich aber das schöne aber doch ziemlich bekackte problem das ich nur auf die variable 2er und 3er wirklich zuweisen kann weil er alle Zahlen >= 10 nicht erkennt...
er meckert zwar nicht beim Kompelieren aber über eine if abfrage ob die gewisse zahl in dem Zahlenbereich steckt zeigt er mir einfach nix an.


Delphi-Quelltext
1:
2:
3:
if (myarray[sp1_hand1] in zweier) and (myarray[sp1_hand2] in zweier) then  result:=('2er Pärchen');
if (myarray[sp1_hand1] in dreier) and (myarray[sp1_hand2] in dreier) then  result:=('3er Pärchen');
if (myarray[sp1_hand1] in vierer) and (myarray[sp1_hand2] in vierer) then  result:=('4er Pärchen');

use.

Ich versteh einfach nicht wieso das bei 0 - 9 klappt also 2er und 3er Pärchen aber ab 4er nicht mehr.

wäre super wenn ihr eine idee hättet wie ich das problem lösen kann


danke schonmal im vorraus =)

Gruß
Philipp

Moderiert von user profile iconNarses: Highlight- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 23.10.2007 um 13:43


Phantom1 - Di 23.10.07 14:00

probiere mal diese deklaration aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
type
  TKarte = 0..51;
  TKarten = set of TKarte;

const
  zweier: TKarten = [0,1,2,3];
  dreier: TKarten = [4,5,6,7];
  vierer: TKarten = [8,9,10,11];
  fuenfer: TKarten = [12,13,14,15];
  sechser: TKarten = [16,17,18,19];
  siebener: TKarten = [20,21,22,23];
  achter: TKarten = [24,25,26,27];
  neuner: TKarten = [28,29,30,31];
  zehner: TKarten = [32,33,34,35];
  buben: TKarten = [36,37,38,39];
  damen: TKarten = [40,41,42,43];
  koenig: TKarten = [44,45,46,47];
  asse: TKarten = [48,49,50,51];


Phil3k - Di 23.10.07 14:29

Jupieeee es funst
Danke schön!!!!!!!!

Besten besten DANK!