Thema: Delphi Groupboxen, Comboboxen

Einzelnen Beitrag anzeigen

Swagger Jackin
(Gast)

n/a Beiträge
 
#6

Re: Groupboxen, Comboboxen

  Alt 27. Feb 2010, 21:55
Also da ist ein Fehler. Ich find ihn nicht. Die exe geht gerade so, aber nicht der Rest. procedure Leiste zeigt Fehler !

Delphi-Quellcode:
{=====================================================================}
procedure TForm1.LeisteDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if Leiste.Cells[ACol,Arow] <> '-1' --> Fehler wird hier angezeigt !!!!!!!!!!!!!!!!!!!!!!
  then
    case Leiste.Cells[ACol,ARow][1] of
      '0' : Leiste.Canvas.Brush.Color := clRed;
      '1' : Leiste.Canvas.Brush.Color := clBlue;
      '2' : Leiste.Canvas.Brush.Color := clYellow;
      '3' : Leiste.Canvas.Brush.Color := clGreen;
      '4' : Leiste.Canvas.Brush.Color := clWhite;
      else Leiste.Canvas.Brush.Color := clBlack; // Farbe für "gelöscht"
      end; // endcase
  Leiste.Canvas.Pen.Color := clBlack;
  Leiste.Canvas.Rectangle(Rect);
end;
{=====================================================================}

Das was ihr mir vorgeschlagen habt:


{=====================================================================}
procedure TForm15.Button1Click(Sender: TObject);
begin
{  case ComboBox1.ItemIndex of                    ---------------> Combobox, wo die Musik gewählt wird     
      0:
        begin
          Form1.mediaPlayer1.FileName := 'Collapse.wav';
          Form1.mediaplayer1.Open;
          Form1.mediaplayer1.Play;
          if Form1.mediaPlayer1.Position = Form1.mediaPlayer1.Length
          then
            begin
              Form1.mediaPlayer1.Rewind;
              Form1.mediaPlayer1.Play;
            end;
        end;
      1:
        begin
          Form1.mediaplayer1.FileName := 'horse.wav';
          Form1.mediaplayer1.Open;
          Form1.mediaplayer1.Play;
          if Form1.mediaPlayer1.Position = Form1.mediaPlayer1.Length
          then
            begin
              Form1.mediaPlayer1.Rewind;
              Form1.mediaPlayer1.Play;
            end;
        end;
      2:
        begin
          Form1.mediaplayer1.FileName := 'electro.wav';
          Form1.mediaplayer1.Open;
          Form1.mediaplayer1.Play;
          if Form1.mediaPlayer1.Position = Form1.mediaPlayer1.Length
          then
            begin
              Form1.mediaPlayer1.Rewind;
              Form1.mediaPlayer1.Play;
            end;
        end;
      3:
        begin
          Form1.mediaplayer1.FileName := 'Memories.wav';
          Form1.mediaplayer1.Open;
          Form1.mediaplayer1.Play;
          if Form1.mediaPlayer1.Position = Form1.mediaPlayer1.Length
          then
            begin
              Form1.mediaPlayer1.Rewind;
              Form1.mediaPlayer1.Play;
            end;
        end;
      4:
        begin
          Form1.mediaplayer1.FileName := 'Jackin.wav';
          Form1.mediaplayer1.Open;
          Form1.mediaplayer1.Play;
          if Form1.mediaPlayer1.Position = Form1.mediaPlayer1.Length
          then
            begin
              Form1.mediaPlayer1.Rewind;
              Form1.mediaPlayer1.Play;
            end;
        end;
  end;

  case Radiogroup1.ItemIndex of                  --> hier wird Schwierigkeitsgrad gewählt wird
  0:
    begin
      Showmessage ('Sie haben Leicht gewählt');
      Form1.NeuesSpiel;
      Form1.Zeit.Enabled := true;  // Uhr anschalten
      Form1.Zeit.Interval := 500;  // Zeitintervall beträgt 700 Millisekunden
      Form1.StatusBar1.Panels[1].Text := 'Runden : 30';
      Runden := 30;
      Form1.Leicht.Enabled := False; // deaktiviert Leicht, da geladen
      Form1.Mittel.Enabled := True;
      Form1.Schwer.Enabled := True;
      Form1.StatusBar1.Panels[0].Text := 'Punkte : 0';
      Punkte := 0;
      if Runden = 0 then
        begin
          Level :=Level+1;
          Runden :=(Level-1)*5+30;
          Form1.Zeit.Interval := Form1.Zeit.Interval-5;
        end;
        begin
          if anzahlGleichfarbigerbloecke > 1
        then
          begin
            Form1.GleicheFarbenLoeschen;
          end;
        end
    end;
  1:
    begin
      Showmessage ('Sie haben Mittel gewählt');
      Form1.NeuesSpiel;
      Form1.Zeit.Enabled := true;  // Uhr anschalten
      Form1.Zeit.Interval := 350;  // Zeitintervall beträgt 300 Millisekunden
      Form1.Statusbar1.Panels[1].Text := 'Runden : 50';
      Runden := 50;
      Form1.Leicht.Enabled := True;
      Form1.Mittel.Enabled := False; // deaktiviert Mittel, da geladen
      Form1.Schwer.Enabled := True;
      Form1.Statusbar1.Panels[0].Text := 'Punkte : 0';
      Punkte := 0;
    end;
  2:
    begin
      Showmessage ('Sie haben Schwer gewählt');
      Form1.NeuesSpiel;
      Form1.Zeit.Enabled := true;  // Uhr anschalten
      Form1.Zeit.Interval := 200;  // Zeitintervall beträgt 100 Millisekunden
      Form1.Statusbar1.Panels[1].Text := 'Runden : 70';
      Runden := 70;
      Form1.Leicht.Enabled := True;
      Form1.Mittel.Enabled := True;
      Form1.Schwer.Enabled := False;  // deaktiviert Schwer, da geladen
      Form1.Statusbar1.Panels[0].Text := 'Punkte : 0';
      Punkte := 0;
    end;
  end;
    begin
      if ComboBox1.ItemIndex = 0 then Showmessage ('Sie haben Collapse Music gewählt');
      if ComboBox1.ItemIndex = 1 then Showmessage ('Sie haben Amazing Horse gewählt');
      if ComboBox1.ItemIndex = 2 then Showmessage ('Sie haben Electro Gypsy gewählt');
      if ComboBox1.ItemIndex = 3 then Showmessage ('Sie haben Memories gewählt');
      if ComboBox1.ItemIndex = 4 then Showmessage ('Sie haben Swagger Jackin gewählt');
    end;
}
    
    if ComboBox1.ItemIndex = 0
    then
      begin
        if MessageDlg('Wirklich Beginnen ?',mtInformation,[mbYes,mbNo],0)=6 // Frage gestellt bevor Start
        then Form15.Close;
      end
    else
      begin
        Showmessage('Bitte wähle einen Spielmodus, einen Schwierigkeitsgrad und eine Musik !');// müssen drei Einstellungen gewählt sein
      end;
end;
{=====================================================================}
procedure TForm15.ComboBox1Change(Sender: TObject);
begin
  if ComboBox1.ItemIndex = 0
  then
    begin
      Form1.NeuesSpiel;
      Form1.StatusBar1.Panels[0].Text := 'Punkte : 0';
      Form1.StatusBar1.Panels[1].Text := 'Runden : 30';
      Punkte := 0;
      Runden := 30;
      anzahlgleichfarbigerbloecke := 0;
      Form1.Zeit.Enabled := true;
      Form13.start := now;
      Form1.Spielmodus1.Enabled := False;
      Form1.Schwierigkeitsgrad.Enabled := False;
      Form1.Highscore1.Enabled := False;
      Form9.Close;
    end
  else
    begin
      Form1.NeuesSpiel;
      Form1.StatusBar1.Panels[0].Text := 'Punkte : 0';
      Form1.StatusBar1.Panels[1].Text := 'Runden : 50';
      Punkte := 0;
      Runden := 50;
      anzahlgleichfarbigerbloecke := 0;
      Form1.Zeit.Enabled := true;
      Form13.start := now;
      Form1.Spielmodus1.Enabled := False;
      Form1.Schwierigkeitsgrad.Enabled := False;
      Form1.Highscore1.Enabled := False;
      Form9.Close;
    end;
end;
{=====================================================================}
end.
das hab ich geschafft, aber es will nicht irgendwo bei case liegt der Fehler.
  Mit Zitat antworten Zitat