Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi if clausel prob (https://www.delphipraxis.net/24759-if-clausel-prob.html)

G G 25. Jun 2004 17:38


if clausel prob
 
warum kann man des nicht schreiben?

if edit1.Text = 'a' or 'b' or 'c' or 'd'
then begin
showmessage ('ja man');
end;

der sagt immer "or" darf ich nich benutzten, aber was den dann?

danke

GG

Christian Seehase 25. Jun 2004 17:43

Re: if clausel prob
 
Moin GG,

Du musst die Vergleiche einzeln aufschreiben:

Delphi-Quellcode:
if (Edit1.Text = 'a') or (Edit1.Text = 'b') or ...
Wenn es sich nur um ein Zeichen handelt kannst Du es aber auch einfacher haben:

Delphi-Quellcode:
if (length(Edit1.Text) = 1) and (Edit1.Text[1] in ['a','b',...]) then
Wichtig:
Für die zweite Variante darf in den Projektoptionen\Compiler\Syntaxoptionen die "Complete Boolean Eval" nicht aktiv sein.

Nicodius 25. Jun 2004 18:29

Re: if clausel prob
 
machs mit "in"

Delphi-Quellcode:
in ['a','b',...]

StefanDP 25. Jun 2004 18:30

Re: if clausel prob
 
"or" liefert TRUE zurück, wenn einer/beide der werte TRUE ist!

true OR true = true
true OR false = true
false OR true = true
false OR false = false

deshalb kannst du "OR" nicht im sinne von "das eine oder das andere ist gleich..." verwenden!

Nicodius 30. Jun 2004 05:29

Re: if clausel prob
 
der compiler sucht bei ors pder ands etc nach klammern wo alles drinnen steht ...


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