Autor Beitrag
Senex
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17

WinXP
Delphi 7 Pers, Delphi2005 Pers, Turbo Delphi, Turbo C++
BeitragVerfasst: Do 31.08.06 11:56 
Ich möchte eine Klasse für ein Kniffelspiel schreiben.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
type
  TKniffelSpiel = class(TObject)
    {...}
    procedure Wuerfeln(Halten: array[1..5of Boolean);
    {...}
  end;


Mit dieser Prozedur möchte ich die Würfel neu würfeln, jedoch nur die Würfel, für die Halten[i] False ist.

Nun zeigt er mir jedoch folgenden Fehler an:
Zitat:

[Fehler] RegelnUnitKniffel.pas(53): E2029 'OF' erwartet, aber '[' gefunden


Woran liegt das? Kann man in Prozeduren keine statischen Arrays als Parameter nutzen?!
Ironwulf
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 733
Erhaltene Danke: 2



BeitragVerfasst: Do 31.08.06 12:21 
jop der bekommt die länge wie der array den du an die prozedure übergibst

wird kniffel nich mit 6 würfeln gespielt oder irr ich mich, is schon ne ewigkeit her als ich das das letzte mal gespielt hab
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Do 31.08.06 13:03 
lagere mal den ArrayTyp aus

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
type
  TWuerfelArray = array[0..4of Boolean;

  TKniffelSpiel = class(TObject)
    {...}
    procedure Wuerfeln(const Halten: TWuerfelArray);
    {...}
  end;

PS1:
lasse die Indexe von 0..4 laufen, Delphi macht es überall so, dass schließt eine Fehlerquelle aus!
PS2: benutze const bei ProcParams, ist schneller, wenn nichts geändert wird!

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!