AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

If Abfrage

Ein Thema von Schnittcher · begonnen am 9. Sep 2009 · letzter Beitrag vom 9. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#1

If Abfrage

  Alt 9. Sep 2009, 11:16
Hallo,

ich habe noch eine Frage zu der If Abfrage.

Delphi-Quellcode:
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;
So sieht es jetzt aus und ich möchte eine Ausageb haben wenn keine der Abfragen stimmt.
Dann soll die Meldung "Sie haben verloren!" kommen.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#2

Re: If Abfrage

  Alt 9. Sep 2009, 11:17
Stichwort: else

...

Evtl. solltest du dir mal die Delphi Tutorials anschauen. Denn eine "if" "then" "else" Abfrage ist nun wirklich Basiswissen
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#3

Re: If Abfrage

  Alt 9. Sep 2009, 11:19
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;
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#4

Re: If Abfrage

  Alt 9. Sep 2009, 11:19
Hallo,

das ist klar, aber geht das denn jetzt?
Weil ich 3 verschiedene Abfragen habe.

Gruß,
Schnittcher
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#5

Re: If Abfrage

  Alt 9. Sep 2009, 11:20
Zitat von Schnittcher:
Hallo,

das ist klar, aber geht das denn jetzt?
Weil ich 3 verschiedene Abfragen habe.

Gruß,
Schnittcher
So wie es XXcD gemacht hat. Einfach das ganze mit einem Begin End block "umklammern"
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

Re: If Abfrage

  Alt 9. Sep 2009, 11:20
oder so (ungetestet):
Delphi-Quellcode:
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;
€: OK, sehe gerade das es mehrmals Punkte gibt, nicht nur einmal...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: If Abfrage

  Alt 9. Sep 2009, 11:21
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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Forlan
Forlan

Registriert seit: 17. Feb 2008
Ort: Herford
265 Beiträge
 
Delphi 2007 Architect
 
#8

Re: If Abfrage

  Alt 9. Sep 2009, 11:23
[OT] Ihr glaubt garnicht wie froh ich war mal "If Abfrage" im Titel zu lesen anstatt "If Schleife" [/OT]
Marcel
マルセル
www.youtube.com/beethoven1990
  Mit Zitat antworten Zitat
Schnittcher

Registriert seit: 25. Aug 2009
Ort: Blomberg
120 Beiträge
 
#9

Re: If Abfrage

  Alt 9. Sep 2009, 11:24
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
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#10

Re: If Abfrage

  Alt 9. Sep 2009, 11:30
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]));
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz