Thema: Delphi If Abfrage

Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: If Abfrage

  Alt 9. Sep 2009, 11:54
Zitat von Die Muhkuh:
Zitat von Schnittcher:
Hallo,

ich habe es jetzt so gelöst.

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 = 1 then
  Result:= 'Sie haben zwei Zahlen richtig erraten!'
end;
Gruß,
Schnittcher
Da ist aber ein dicker Fehler drin.

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.
Wie wäre es mit einer case-Anweisung:

Delphi-Quellcode:
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!';
Sieht wie ich finde deutlich besser aus, als die verschachtelten if-Anweisungen.

MfG
BAMatze

[Edit1] Muhkuh´s Einwand mit keinem Treffer hinzugefügt[/Edit]
2. Account Sero
  Mit Zitat antworten Zitat