Einzelnen Beitrag anzeigen

iTzElKay

Registriert seit: 11. Sep 2018
Ort: Vlotho, im wundervollen NRW.
25 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

TCheckBox und das Bedingungsproblem

  Alt 19. Sep 2018, 09:43
Delphi-Version: 10.2 Tokyo
Moinsen Männers

und zwar habe ich das Problem, dass ich derzeit eine Art Kniffel mit Checkboxen erstelle. Jetzt ist das Ding, dass diese Checkbox nur Disabled und Gecheckt sein sollen, wenn das Labelfeld einen Wert zugewiesen bekommen hat. Das heißt, dass wenn nicht gewürfelt wurde, soll eine MessageBox auftauchen. Das tut es auch, aber zweimal, da sich durch das ( Sender as TCheckBox ).Checked := false; das OnClick doppelt auslöst. Wie kann ich nun den Code umschreiben, dass er es nicht mehr tut?
Code:
function TKnuffel.wurdeGewuerfelt : boolean;
begin
  if wuerfel1BBtn.Caption = '0' then
  begin
     result := false;
     Application.MessageBox('Bitte würfeln Sie erst!', 'Hinweis', mb_OK);
  end
  else
     result := true;
end;
Code:
 if ( Sender = player1CB3Pasch ) then
    if wurdeGewuerfelt = false then begin
    ( Sender as TCheckBox ).Enabled := true;
    ( Sender as TCheckBox ).Checked := false;
    end
    else if wurdeGewuerfelt = true then
    if dreierPasch = true then begin
      wert1Label3Pasch.Caption := IntToStr( alleWuerfelErgebnis );
      ergebnisUnten1();
      ( Sender as TCheckBox ).Enabled := false;
      wuerfelReset();

      if niSpielerAnz = 2 then begin
        spielerWechsel( Sender as TObject );
        wuerfelReset();
      end;
    end
    else if dreierPasch = false then
    begin
      MessageBox(0, 'Es ist kein Dreier Pasch vorhanden. Bitte wählen Sie etwas anderes!', 'Hinweis', MB_OK);
      ( Sender as TCheckBox ).Checked := false;
    end;
Leon
  Mit Zitat antworten Zitat