Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Bedingungen (https://www.delphipraxis.net/66320-bedingungen.html)

DerMensch 28. Mär 2006 13:31


Bedingungen
 
Hallo,

ich würde gerne mehrere Bedingungen durch "und" oder "oder" trennen.
Ich kenne das von Java so:


if(a == b | a == c | a == d){a = z;}
else if(a == b && a == c && a == d){a = z;}


| bedeutet oder
&& bedeutet und

Bei Delphi gibt es bestimmt auch so was.
Wäre nett wenn mir jemand weiterhelfen würde.

Mit freundlichen Grüßen
DerMensch

Dax 28. Mär 2006 13:33

Re: Bedingungen
 
Du suchst doch garantiert Delphi-Referenz durchsuchenand und Delphi-Referenz durchsuchenor, hab ich Recht ;)

Grishnak 28. Mär 2006 13:34

Re: Bedingungen
 
Delphi-Quellcode:
if (a = b) or (a = c) or (a = d) then
  a:=z
else
  if (a = b) and (a = c) and (a = d) then
    a:=z;
Wichtig ist die Klammerung jedes einzelnen Vergleiches vor der OR/AND-Verknüpfung!

DerMensch 28. Mär 2006 13:37

Re: Bedingungen
 
Genau das, ich danke euch.

P.S.: Das ging aber fix.

Mit freundlichen Grüßen
DerMensch

StefanG 28. Mär 2006 13:38

Re: Bedingungen
 
kürzer für genau dieses Beispiel wäre

Delphi-Quellcode:
a:=z
:P

Grishnak 28. Mär 2006 13:41

Re: Bedingungen
 
Zitat:

Zitat von StefanG
kürzer für genau dieses Beispiel wäre

Delphi-Quellcode:
a:=z
:P

Nein, denn wenn a weder gleich b noch c noch d ist, wird sein Wert gar nicht geändert! :warn:
Trotzdem ist das Beispiel "etwas" sinnfrei! :roteyes:

Matze 28. Mär 2006 13:42

Re: Bedingungen
 
Zitat:

Zitat von StefanG
kürzer für genau dieses Beispiel wäre

Delphi-Quellcode:
a:=z
:P

Was wenn z.B. b = d? ;)

Also das stimmt nicht, was du da sagst. ;)


NAchtrag: Ich vermisse den süßen Kasten ....

Eichhoernchen 28. Mär 2006 13:42

Re: Bedingungen
 
Zitat:

Zitat von StefanG
kürzer für genau dieses Beispiel wäre

Delphi-Quellcode:
a:=z
:P


NEIN, da steht else if

das bedeutet nicht, dass der than fall eintritt und damit nicht, dass es eine Wertzuweisung gibt!
Und da wenn wie in dem Beispiel der else Fall eintritt, wird die if bedinnung danach sowieso niemals den than Fall zulassen da er schon bei der 1. Bedinnung nicht zugetroffen ist (beide Bedinnungen gleich!)

DerMensch 28. Mär 2006 13:54

Re: Bedingungen
 
Noch eine Frage, gibt es so was ähnliches wie or für then.

So dass er dann aus mehreren Möglichkeiten was per Zufall aussucht oder gibt es so was ähnliches wie random?

Mit freundlichen Grüßen
DerMensch

Matze 28. Mär 2006 14:01

Re: Bedingungen
 
Zitat:

Zitat von DerMensch
Noch eine Frage, gibt es so was ähnliches wie or für then.

Was meinst du genau? Ich denke nicht, dass man bei einer if-ABfrage etwas per Zufalls direkt ausgeben kann.

Mittels Delphi-Referenz durchsuchenrandom kann man Zufallszahlen erzeugen lassen, davor jedoch den einmaligen Aufruf Delphi-Referenz durchsuchenrandomize nicht vergessen. Einfach in die Hilfe gucken, da ist das schön erklärt. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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