Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit "if not" (https://www.delphipraxis.net/69766-problem-mit-if-not.html)

Ironmaster 19. Mai 2006 17:59


Problem mit "if not"
 
Hallo erstmal
ich habe ein problem mit "if not".
ich möchte in Label1.Caption z.B. "Ziel" reingeschreiben bekommen unter der Bedingung, dass in Edit1.Text und Edit2.Text nichts steht.

Mein Versuch:
Delphi-Quellcode:
if Not ((Edit1.Text='') And (Edit2.Text='')) then Label1.Caption:='Ziel';
aus irgendeinem grund will es einfach nicht funktionieren. warum?
und wenn das mit "if not" gar nicht möglich ist, wie ist es dann zu lösen?

danke schon mal im voraus

SirThornberry 19. Mai 2006 18:02

Re: Problem mit "if not"
 
dann ist deine Bedinung falsch. Deine Bedingung ist derzeit nur erfüllt wenn in beiden etwas drin steht. Mach das "not" einfach weg und deine Bedingung sollte richtig sein.

Klaus01 19. Mai 2006 18:03

Re: Problem mit "if not"
 
vielleicht so?

Delphi-Quellcode:
if ((length(Edit1.Text) = 0) And (length(edit2.text)=0)) then Label1.Caption:='Ziel';
Grüße
Klaus

Helmi 19. Mai 2006 18:04

Re: Problem mit "if not"
 
Hallo,

du bräuchtest eigentlich nur das "not" weglassen, dann würds funktionieren.

mit
Delphi-Quellcode:
Edit1.Text = ''
prüfst du ja schon, ob das Edit1 leer ist. Ist es leer, gibt dir diese Abfrage ein true, also 1.

Wenn also Edit1.Text = <nichts> UND Edit2.Text = <nichts> dann beschreib das Label.

Ironmaster 19. Mai 2006 18:23

Re: Problem mit "if not"
 
Oh Entschuldigung!!!
Meine Frage war eigentlich:

ich möchte in Label1.Caption z.B. "Ziel" reingeschreiben bekommen unter der Bedingung, dass in Edit1.Text und Edit2.Text etwas steht.

Ultimator 19. Mai 2006 18:26

Re: Problem mit "if not"
 
Um das if-not-Problem zu umgehen ;)
Delphi-Quellcode:
if (Edit1.Text <> '') and (Edit2.Text <> '') then
 Label1.Caption := 'Ziel';

SirThornberry 19. Mai 2006 18:26

Re: Problem mit "if not"
 
dann würd ichs so machen:
Delphi-Quellcode:
if (Edit1.Text <> '') And (Edit2.Text <> '') then
  Label1.Caption:='Ziel';
oder wenns mit "not" sein soll
Delphi-Quellcode:
if not((Edit1.Text = '') or (Edit2.Text = '')) then
  Label1.Caption:='Ziel';

Martin K 19. Mai 2006 18:28

Re: Problem mit "if not"
 
Guck dir dochmal die IF-Bedingung genau an:
immer innerste Klammern zuerst

Das heißt:
Wenn in Edit1.Text nichts steht UND in Edit2.Text nichts steht UND das ganze dann nicht erfüllt ist!
:arrow: Also ist das Ganze erfüllt, wenn in Edit1 ODER in Edit2 etwas steht!

Wenn z.B. in Edit1 etwas steht in Edit2 aber nichts steht,
so ergeben die beiden inneren Bedingungen False und das Gegenteil davon ist True.

xZise 19. Mai 2006 19:40

Re: Problem mit "if not"
 
Oder auch so:
Delphi-Quellcode:
if not(Edit1.Text = '') and not(Edit2.Text = '') then
  Label1.Caption:='Ziel';
Weil, ansonsten das so aussähe:
if not((false) and (true)) then ...

(false) and (true) >>> ergeben: >>> false
not von false >>> ergeben: >>> true ;)

Oder wie mein Vorredner mit OR meinte!


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