Erledigt: Hilfe in Delphi

    • Erledigt: Hilfe in Delphi

      Die Aufgabe meines Infokurses ist es, innerhalb der Ferien einen Zauberwürfel auf einfache Weise mit Delphi zu programmieren. Als Vorgabe bekamen wir den Befehl, wie der Drehvorgang abläuft:

      In Worten:
      Die Farbe aus einem Punkt im Feld wird abgefragt, diese wird übernommen und mit dieser Farbe wird dann das Feld, auf dem das abgefragte Feld nach der Drehung steht, ausgemalt.

      In Pascal:
      begin
      with imbild.Canvas do
      begin
      case pixels[45,105] of
      clred: begin brush.color:=clred;
      floodfill (15, 15, clblack, fsborder); end;
      clyellow: begin brush.color:=clyellow;
      floodfill (15, 15, clblack, fsborder); end;
      clgreen: begin brush.color:=clgreen;
      floodfill (15, 15, clblack, fsborder); end;
      clwhite: begin brush.color:=clwhite;
      floodfill (15, 15, clblack, fsborder); end;
      clblue: begin brush.color:=clblue;
      floodfill (15, 15, clblack, fsborder); end;
      clfuchsia: begin brush.color:=clfuchsia;
      floodfill (15, 15, clblack, fsborder); end;end;

      Dies wäre dann für ein Feld, natürlich kommt da noch mehr, das habe ich bereits fertig. Beim Testlauf dann wurde mir vom Compiler gesagt, dass ein Fehler in dieser Zeile (und alles Zeilen, die dieses Muster besitzen) liegt:
      clred: begin brush.color:=clred;

      Als Fehler ist folgendes angegeben: Ungülitiges Zeichen in Eingabedatei: ' ' ($A0)

      Hier scheint irgendwo also eine Leerzeile zu fehlen, aber ich kann auf Teufel komm raus nicht entdecken, wo dieser sein soll (ich habe schon mehrmals überprüft, ob alles mit der Vorgabe überinstimmt und das tut es). Bei den anderen aus meinen Kurs scheint alles zu funktionieren. Kann jemand da den Fehler finden?



      EDIT: Super, ich habe es gefunden. Ihn hatte eine Leerzeile am Anfang der Zeile gestört.
      Mein neues Problem lautet jetzt, dass ihm am Ende ein Konstantenausdruck fehlt, aber ich wüsste nicht, wo der sein soll (ich habe kein end; o.Ä. vergessen)

      EDIT2: So, dieses Problem ist auch gelöst. Ich wusste nicht, dass das case auch so etwas wie ein begin bedeutet und man deshalb noch ein end am ende der abfrage setzen muss. Kann geschlossen werden.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Fuchspower ()