Einzelnen Beitrag anzeigen

Phil.I.Am

Registriert seit: 13. Okt 2008
5 Beiträge
 
Turbo Delphi für Win32
 
#1

Konstantenausdruck in case-Verzweigung erwartet

  Alt 13. Okt 2008, 14:25
Hiho... ich beschäftige mich im Moment damit einen kleines Mastermind spiel in Delphi zu schreiben. Ich bin noch nicht wirklich erfahren (2-3 kleine projekte), daher bitte die vielleicht etwas umständliche Programierung entschuldigen

mein problem ist folgendes: ich habe in meinem programm mehrer case-verzweigungen, um die farbeingabe des users mit der vom pc generierten farbabfolge zu vergleichen...

Delphi-Quellcode:
if (i = 0) then
 begin //15
  lblFarbe1_1.Caption := cmbFarbe1.Text;
  case cmbFarbe1.ItemIndex of
  geheim[1] : a := (a+1); //hier
  geheim[2] : b := (b+1); //hier
  geheim[3] : b := (b+1); //hier
  geheim[4] : b := (b+1) //hier
  else c := (c+1);
  end;
  lblFarbe1_2.Caption := cmbFarbe2.Text;
  case cmbFarbe2.ItemIndex of
  geheim[2] : a := (a+1); //hier
  geheim[1] : b := (b+1); //hier
  geheim[3] : b := (b+1); //hier
  geheim[4] : b := (b+1) //hier
  else c := (c+1);
  end;
  lblFarbe1_3.Caption := cmbFarbe3.Text;
  case cmbFarbe3.ItemIndex of
  geheim[3] : a := (a+1); //hier
  geheim[1] : b := (b+1); //hier
  geheim[2] : b := (b+1); //hier
  geheim[4] : b := (b+1) //hier
  else c := (c+1);
  end;
  lblFarbe1_4.Caption := cmbFarbe4.Text;
  case cmbFarbe4.ItemIndex of
  geheim[4] : a := (a+1); //hier
  geheim[1] : b := (b+1); //hier
  geheim[2] : b := (b+1); //hier
  geheim[3] : b := (b+1) //hier
  else c := (c+1);
  end;
  lblergebnis1.Caption := 'Runde 1: '+inttostr(a)+' komplett Richtige, '+inttostr(b)+' Richtige und '+inttostr(c)+' Falsche.';
  end;
dies ist ein teil des programms... das habe ich insgesamt 8 mal, für acht runden in denen man seine kombination noch verändern kann. die variablen a, b, c und i sind als ganz normale integer deklariert...

die fehlermeldung ist folgende: "E2026 Konstantenausdruck erwartet" (fehler werden immer bei "hier" angezeigt

habe mich schon durch mehrere foren gesucht und auch eine mögliche ursache gefunden... dort hatte der programierer in seinem code ein end falsch gesetzt oder vergessen (bin nicht ganz sicher )... habe jdeoch jetzt schon 3 mal alle begins und ends geprüft und finde keinen fehler...

hätte jemand von euch eine idee? falls jemand den gesamten source-code möchte (der zu lang für einen einzigen beitrag wäre =P) bitte melden

lg Phil.I.Am
  Mit Zitat antworten Zitat