![]() |
If Abfrage
Hallo,
ich habe noch eine Frage zu der If Abfrage.
Delphi-Quellcode:
So sieht es jetzt aus und ich möchte eine Ausageb haben wenn keine der Abfragen stimmt.
procedure TZahlen.get_Punkte(const Punkte: Integer);
begin FPunkte := Punkte; end; function TZahlen.vergleichen: string; begin if FSpielerZahl1 = FComputerZahl1 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl2 = FComputerZahl2 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl3 = FComputerZahl3 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; end; Dann soll die Meldung "Sie haben verloren!" kommen. Gruß, Schnittcher |
Re: If Abfrage
Stichwort: else
... Evtl. solltest du dir mal die Delphi Tutorials anschauen. Denn eine "if" "then" "else" Abfrage ist nun wirklich Basiswissen ;) |
Re: If Abfrage
Versuchs ungefähr so:
Delphi-Quellcode:
procedure TZahlen.get_Punkte(const Punkte: Integer);
begin FPunkte := Punkte; end; function TZahlen.vergleichen: string; begin if (FSpielerZahl1 = FComputerZahl1) or (FSpielerZahl2 = FComputerZahl2) or (FSpielerZahl3 = FComputerZahl3) then begin if FSpielerZahl1 = FComputerZahl1 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl2 = FComputerZahl2 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl3 = FComputerZahl3 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; end else begin Result := 'Sie haben verloren!' end; end; |
Re: If Abfrage
Hallo,
das ist klar, aber geht das denn jetzt? Weil ich 3 verschiedene Abfragen habe. Gruß, Schnittcher |
Re: If Abfrage
Zitat:
|
Re: If Abfrage
oder so (ungetestet):
Delphi-Quellcode:
€: OK, sehe gerade das es mehrmals Punkte gibt, nicht nur einmal...
if (FSpielerZahl1 = FComputerZahl1)
or (FSpielerZahl2 = FComputerZahl2) or (FSpielerZahl3 = FComputerZahl3) then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end else begin Result := 'Sie haben verloren!' end; |
Re: If Abfrage
Hai,
warum nicht einfach die "ausnahme" als Vorgabewert?
Delphi-Quellcode:
function TZahlen.vergleichen: string;
begin Result := 'Sie haben verloren'; if FSpielerZahl1 = FComputerZahl1 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl2 = FComputerZahl2 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; if FSpielerZahl3 = FComputerZahl3 then begin FPunkte := FPunkte + 1; Result := 'Sie haben gewonnen!' end; end; |
Re: If Abfrage
[OT] Ihr glaubt garnicht wie froh ich war mal "If Abfrage" im Titel zu lesen anstatt "If Schleife" :mrgreen: [/OT]
|
Re: If Abfrage
Hallo,
alles klar danke für die schnellen Antworten. Eine Frage jetzt noch wenn ich sagen will "Sie haben 2 Zahlen richtig erraten!" Das ich prüfe ob FPunkte zum Beispiel um 1 größer geworden ist oder um 2 oder um 3? Und wenn größer um 2 dann: "Sie haben " Zahlen richtig erraten!" Kann man das so machen? Gruß, Schnittcher |
Re: If Abfrage
wenn Du die Anzahl der erratenen Punkte in einer Integer-variable hast (z.B. points), kannst Du einen String mit Format bilden:
ShowMessage(Format('Sie haben %d Zahlen richtig erraten!',[Points])); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz