![]() |
If Anweisung mit 2 Bedingungen?
Eine Frage, wie Packe ich 2 Bedingungen in eine Schleife?
Ich habs so probiert und noch ein zwei andere Versuche abdie sind schief gegangen
Delphi-Quellcode:
if VorFeld[60] div 2+Feld[98]<=Maxi2;
VorFeld[60] div 2+Feld[110]<=Maxi2 Then.... Hier möchte ich einfach wenn diese 2 Bedingungen erfüllt sind soll dies ausgeführt werden. |
Re: If Anweisung mit 2 Bedingungen?
and und oder or sind deine Freunde!
Kidix |
Re: If Anweisung mit 2 Bedingungen?
Zitat:
Delphi-Quellcode:
if (VorFeld[60] div 2+Feld[98]<=Maxi2) and
(VorFeld[60] div 2+Feld[110]<=Maxi2) Then.... |
Re: If Anweisung mit 2 Bedingungen?
Hai Hallo_Thomas,
Du musst in diesem Fall deine beiden Bedinugung mit einem AND verknüpfen.
Delphi-Quellcode:
if (VorFeld[60] div 2+Feld[98] < =Maxi2) AND
(VorFeld[60] div 2+Feld[110] <= Maxi2) Then.... |
Re: If Anweisung mit 2 Bedingungen?
Zitat:
Mit logischen Verknüpfungen ist das machbar.
Delphi-Quellcode:
Wenn beide zu treffen müssen
if Bedinung1 AND Bedinung2 then ...
Delphi-Quellcode:
Wenn nur eine der beiden zutreffen muss ..
if Bedinung1 OR Bedinung2 then ...
und in deinem Fall brauchst du AND
Delphi-Quellcode:
rantanplan
if (VorFeld[60] div 2+Feld[98]<=Maxi2) and (VorFeld[60] div 2+Feld[110]<=Maxi2) Then....
|
Re: If Anweisung mit 2 Bedingungen?
Mit if kann man keine Schleifen, sondern nur Abfragen machen ;)
Delphi-Quellcode:
Oder so:
if (VorFeld[60] div 2+Feld[98]<=Maxi2) and (VorFeld[60] div 2+Feld[110]<=Maxi2) Then....
Delphi-Quellcode:
Ersteres ist zwar imho schöner, aber manchmal kommt man um die zweite Methode nicht umher ;)
if VorFeld[60] div 2+Feld[98]<=Maxi2 then
if VorFeld[60] div 2+Feld[110]<=Maxi2 then... |
Re: If Anweisung mit 2 Bedingungen?
Dankeschön, das hat echt weitergeholfen
|
Re: If Anweisung mit 2 Bedingungen?
Warum nicht mit while, wenn es schon ne Schleife sein soll? Etwa so:
Delphi-Quellcode:
Ein besonders hübscher Trick besteht bei mehreren Bedingungen darin, ein Zuweisung zu einem boolean zu benutzen. Erleichter die Übersicht wenn das ein Haufen Zeugs wird. Etwa so:
.
while Expression1 and Expression2 do begin . end; // of while Expression1 and Expression2 do begin .
Delphi-Quellcode:
Sieht im Code auch etwas hübscher aus oder nicht?
var
Exp1, Exp2 : boolean; begin Exp1:= (VorFeld[60] div (2 + Feld[98])) <= Maxi2 ; // Ergebnis ist boolscher Wert Exp2:= ...; {*** und nun los ***} while Exp1 and Exp2 do begin end; // of while Exp1 and Exp2 do begin end; |
Re: If Anweisung mit 2 Bedingungen?
@hardy1234: Wegen den Schleifen: Es waren bestimmt die if-Abfragen gemeint ;)
Bei der ersten Variante fehlen jedoch die Klammern. Die zweite Variante halte ich (besonders für Anfänger) viel zu kompliziert. Was mich bei Schleifen in diesem Fall stört: Der Code wird IMMER WIEDER ausgeführt. Deshalb sind es auch Schleifen. Man müsste künstlich die Bedingung unterbrechen oder ein Break einbauen, was nicht so schön ist. |
Re: If Anweisung mit 2 Bedingungen?
Zitat:
(XOR = die Schleife wird nur ausgeführt, wenn die eine Bedingung true und die andere false ist. Wenn beide true sind, oder beide false, dann wirds nicht gemacht.) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 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