Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi zwei if-Abfragen mit else (https://www.delphipraxis.net/139862-zwei-if-abfragen-mit-else.html)

Major1337 7. Sep 2009 08:52


zwei if-Abfragen mit else
 
Hi..

ich möchte für zwei oder mehrere If-abfragen jeweils die selbe else verwenden.
Ist das überhaupt möglich? und wenn ja wie? :P

Delphi-Quellcode:
if eingabe (inputf) = 2 then
 
.....


if eingabe (inputf) = 3 then

.....




else
begin
 label2.Caption := 'falsche Eingabe'
....

jfheins 7. Sep 2009 08:54

Re: zwei if-Abfragen mit else
 
nein, das geht so nicht.

Alternative wäre ein case-Statement ;)

Angel4585 7. Sep 2009 08:55

Re: zwei if-Abfragen mit else
 
wie jfheins schon gesagt hat:
Delphi-Quellcode:
case eingabe (inputf) of
  2:begin
    end;
  3:begin
    end;
  else
    begin

    end;
  end;

Sir Rufo 7. Sep 2009 09:05

Re: zwei if-Abfragen mit else
 
Aber mal andersherum:

Zu welchem "if" gehört denn dann das "else"?

a) rein logisch?
b) was macht der Compiler?
c) wie sollte der Compiler es machen?

Delphi-Quellcode:
if a >= b
then
  if a = b
  then
    ShowMessage( 'a = b' )
else
  ShowMessage( 'a < b oder a > b ?' );

Jürgen Thomas 7. Sep 2009 09:08

Re: zwei if-Abfragen mit else
 
Oder allgemeiner (wenn es nicht mit case geht):
Delphi-Quellcode:
if (fall 1) or (fall 2)
then begin
  if (fall 1)
  then begin
  end
  else begin  // also fall 2
  end;
end
else begin    // weder fall 1 noch fall 2
end;
Jürgen

Zoot 7. Sep 2009 09:12

Re: zwei if-Abfragen mit else
 
Zitat:

Zitat von Major1337
Hi..

ich möchte für zwei oder mehrere If-abfragen jeweils die selbe else verwenden.
Ist das überhaupt möglich? und wenn ja wie? :P

Delphi-Quellcode:
if eingabe (inputf) = 2 then
 
.....


if eingabe (inputf) = 3 then

.....




else
begin
 label2.Caption := 'falsche Eingabe'
....


Naürlich geht das.

Delphi-Quellcode:
if eingabe (inputf) = 2 then
 
.....


else if eingabe (inputf) = 3 then

.....




else
begin
 label2.Caption := 'falsche Eingabe'
....

himitsu 7. Sep 2009 09:15

Re: zwei if-Abfragen mit else
 
warum so sehr verschachtelt?
Delphi-Quellcode:
if ... then begin

end else if ... then begin

...

end else begin

end;
kommt aber von der Funktion auf ein CASE hinaus

[edit]
jetzt hab ich Zoot's grad gesehn
aber wenn mehr als ein Befehl pro IF-Ausgeführt werden sollen, muß man das BEGIN-END natürlich drum rummachen.

Muetze1 7. Sep 2009 09:15

Re: zwei if-Abfragen mit else
 
Zitat:

Zitat von Zoot
Naürlich geht das.

Nur wenn sich die beiden Bedingungen ausschliessen. Wenn sie aber gleichrangig sind, dann funktioniert dein Beispiel nicht mehr.

khh 7. Sep 2009 09:52

Re: zwei if-Abfragen mit else
 
warum so umständlich ?
ist doch der klassische Einsatz von case.


Gruss KH

DeddyH 7. Sep 2009 09:58

Re: zwei if-Abfragen mit else
 
case funktioniert aber nur mit ordinalen Typen, bei anderen muss man eben auf so eine if-then-else-Verschachtelung ausweichen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 Uhr.
Seite 1 von 2  1 2      

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