![]() |
Re: If Abfrage
Hallo,
ich habe es jetzt so gelöst.
Delphi-Quellcode:
Gruß,
function TZahlen.VergleichePunkteAlt: string;
begin if FPunkte - FPunkte_alt = 1 then Result := 'Sie haben eine Zahl richtig erraten!' else if FPunkte - FPunkte_alt = 2 then Result := 'Sie haben zwei Zahlen richtig erraten!' else if FPunkte - FPunkte_alt = 1 then Result:= 'Sie haben zwei Zahlen richtig erraten!' end; Schnittcher |
Re: If Abfrage
Zitat:
Die letzte If-Abfrage ist wie die erste und wenn die erste schon nicht klappt, wird die letzte genau so wenig klappen. Außerdem fehlt noch, ob man nichts erraten hat. |
Re: If Abfrage
Hallo,
ja stimmt da muss eine 3 hin. Aber geht es den so? Gruß, Schnittcher |
Re: If Abfrage
Und für den Fall, dass gar nichts zutrifft:
Delphi-Quellcode:
function TZahlen.VergleichePunkteAlt: string;
begin if FPunkte - FPunkte_alt = 1 then Result := 'Sie haben eine Zahl richtig erraten!' else if FPunkte - FPunkte_alt = 2 then Result := 'Sie haben zwei Zahlen richtig erraten!' else if FPunkte - FPunkte_alt = 3 then Result:= 'Sie haben drei Zahlen richtig erraten!' else Result := 'Verloren'; end; |
Re: If Abfrage
Zitat:
das für jede mögliche Anzahl von Punkten und Spielgewinnen so machen willst. Grüße Klaus |
Re: If Abfrage
Zitat:
Delphi-Quellcode:
Sieht wie ich finde deutlich besser aus, als die verschachtelten if-Anweisungen.
function TZahlen.VergleichePunkteAlt: string;
begin case FPunkte - FPunkte_alt of 0: Result := 'Sie haben keine Zahl richtig erraten!'; 1: Result := 'Sie haben eine Zahl richtig erraten!'; 2: Result := 'Sie haben 2 Zahlen richtig erraten!'; 3: Result := 'Sie haben 3 Zahlen richtig geraten!'; end; else Result := 'Es ist ein Fehler in der Berechnung aufgetreten!'; MfG BAMatze [Edit1] Muhkuh´s Einwand mit keinem Treffer hinzugefügt[/Edit] |
Re: If Abfrage
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
mehr gibt es ja nicht. Das mit dem case finde ich auch gut. Das schaue ich mir mal an. Danke. so eine Frage noch:
Delphi-Quellcode:
Sieht jemand hier einen Fehler?
if FRunden = FRundenEingabe then
ShowMessage(Format('Sie haben %d Punkte erreicht!',[punkte])) else begin SpielerZahlen[0] := StrToInt(edZahl1.Text); SpielerZahlen[1] := StrToInt(edZahl2.Text); SpielerZahlen[2] := StrToInt(edZahl3.Text); Zahlen := TBackupClassesFactory.Zahlen; Zahlen.SpielerZahl := SpielerZahlen; Zahlen.set_ComputerZahlen; Zahlen.vergleichen; lbAussage.Caption := Zahlen.VergleichePunkteAlt; FPunkte := FPunkte + Zahlen.HolePunkte; Zahlen.get_Punkte(FPunkte); lbPunkte.Caption := IntToStr(Zahlen.HolePunkte); end; Fehler ist im Anhang. Gruß, Schnittcher |
Re: If Abfrage
Hallo,
wo ist den das Create von TBackupClassesFactory? Die Fehlermeldung sieht so aus, als würdest Du auf eine nichtinitialisierte Variabel zugreifen. |
Re: If Abfrage
Hallo,
das kam erst nach der If Abfrage, das war der Fehler. Danke. Gruß, Schnittcher |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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