Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Unterschied zwischen "not" und "false"? (https://www.delphipraxis.net/153659-unterschied-zwischen-not-und-false.html)

himitsu 11. Aug 2010 23:07

AW: Unterschied zwischen "not" und "false"?
 
jetzt das
Delphi-Quellcode:
if not List.IsNotFull then
.

Tschuldschung, aber ich konnt nicht anders. :oops:



Nja, es ist eigentlich recht einfach:

> True und False sind Werte/Konstante, welche je "einen" definierten Wert darstellen.

> Boolean und Co. sind Variablen, welche unterschiedliche Werte enthalten können,
aber es ist so festgelegt, daß 0 = "False" und alles Andere = "True" darstellt.


Und jetzt sollte auch klar werden, warum man nicht mit True und False vergleichen soll.

True/Wahr gibt es mehrfach, aber die Konstannte stellt nur einen Bruchteil davon dar und man kann demnach nur einen Bruchteil erfolgreich damit vergleichen.

uligerhardt 11. Aug 2010 23:15

AW: Unterschied zwischen "not" und "false"?
 
Zitat:

Zitat von himitsu (Beitrag 1041393)
und jetzt das
Delphi-Quellcode:
if not List.IsNotFull then
.

Tschuldschung, aber ich konnt nicht anders :oops:

Ich habe schon eine boolsche Variable namens Nicht_OK gesehen, die gerne mal mit
Delphi-Quellcode:
if not Nicht_OK
abgefragt wird. :lol:

xZise 12. Aug 2010 05:46

AW: Unterschied zwischen "not" und "false"?
 
Moin,
kann es übrigens sein, dass ein Punkt, warum man false und true umgeht noch nicht genannt wurde? Und zwar wird ja in einer if-Bedingung ein Boolean-Wert erwartet:
Delphi-Quellcode:
if true then
Und wenn der Boolean Wert wahr ist, führt er bestimmten Code aus.

Das heißt wiederum, dass ein Test auf false aber besonders auf true doppelt ist:
Delphi-Quellcode:
if x = true then // Ist quasi: Wenn (x = true) = true dann
Nagut bei false trifft das nicht direkt zu, aber dennoch braucht man in der Regel kein Vergleich mit Wahrheitswerten, sondern kann immer mit Operatoren negieren o.ä. um das zu erreichen.

MfG
Fabian

Micha88 12. Aug 2010 09:44

AW: Unterschied zwischen "not" und "false"?
 
Zitat:

der (Delphi 2006) compiler compiliert beides zu:
Code:
test bl, bl
jnz xxx

Das interessiert mich jetzt aber.. wie kommt man in D2009 denn an den Assemlber-Code (das ist doch Asembler?) ?

himitsu 12. Aug 2010 09:58

AW: Unterschied zwischen "not" und "false"?
 
Strg+Alt+C (das geht in jedem Delphi) oder mal oben im Menü suchen (Ansicht > Debug > CPU).

Micha88 12. Aug 2010 10:08

AW: Unterschied zwischen "not" und "false"?
 
Bei mir ist der Button, welcher zum obigen Shortcut gehört, durchgehend deaktiviert.

himitsu 12. Aug 2010 10:50

AW: Unterschied zwischen "not" und "false"?
 
Das läßt sich komischwer Weise nur wärend des Debuggens anzeigen/einblenden.

Zeigt aber sowieso nur Was an, wärend ein Programm angehalten ist.

p80286 12. Aug 2010 11:14

AW: Unterschied zwischen "not" und "false"?
 
Kleiner Nachtrag zu (-1) $FF.

Wenn man Integer "nur" zum Rechnen nutzt, dann werden $FF oder $FFFF eigentlich nie als neg. Werte erkannt.
Für mich sind negative Werte, wie auch Buchstaben, eine Interpretationssache.


Gruß
K-H

mkinzler 12. Aug 2010 11:26

AW: Unterschied zwischen "not" und "false"?
 
Du brauchst aber nur eine externe Funktion erwischen die -1 (signed) zurückgibt, dann wird es signed als 255 interpretiert, was dann zwar True im Sinne von <> 0 aber nicht True im Sinne von 1 ist.

Bummi 12. Aug 2010 13:42

AW: Unterschied zwischen "not" und "false"?
 
Bissel OT aber:

wenn man die CONST Deklaration in einer anderen unit "versteckt" kann man jemanden denke ich ordentlich ärgern.....

Delphi-Quellcode:

procedure TForm5.Button1Click(Sender: TObject);
Const
  true=false;
Var
  Test:Boolean;
begin
  Test := true;
  if Test then Showmessage('true') else Showmessage('false');

end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Seite 4 von 4   « Erste     234   

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