Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Boolean-Wert ändern (https://www.delphipraxis.net/67589-boolean-wert-aendern.html)

Martin K 17. Apr 2006 12:01

Re: Boolean-Wert ändern
 
Na gut, wie auch immer.

Aber was bewirkt dann Inc(X) wenn X eine Boolean-Variable ist ?

fkerber 17. Apr 2006 12:07

Re: Boolean-Wert ändern
 
Hi!

Wenn x false ist, machts true draus, wenns schon true ist, dann bleibts true.


Ciao Frederic

Chewie 17. Apr 2006 12:09

Re: Boolean-Wert ändern
 
Sollte
Delphi-Quellcode:
x := Pred(x);
bzw.
Delphi-Quellcode:
x := Succ(x);
nicht das gewünschte bewirken?

true ist doch der Vorgänger von false, und auch der Nachfolger, da das ganze zyklisch ist.

Hawkeye219 17. Apr 2006 12:11

Re: Boolean-Wert ändern
 
Hallo Martin, hallo Chewie,

lest mal diesen Beitrag von himitsu.

Gruß Hawkeye

Martin K 17. Apr 2006 12:18

Re: Boolean-Wert ändern
 
Achso:
Inc, Pred und Succ bringt's dann nur bei ByteBool.

Bei einer Boolean-Variablen macht das nicht allzu viel Sinn,
da ich bei einfachen Boolean-Variablen mit Inc(x) das gleich bewirke wie mit x:=true;

3_of_8 17. Apr 2006 12:20

Re: Boolean-Wert ändern
 
Leute, habt Nachsicht mit mir. Ich hatte nur 5 Stunden Schlaf und hab schon seit Wochen nicht mehr richtig ausgeschlafen.

Delphi-Quellcode:
procedure negate(var b: Boolean);
begin
b:=not b;
end;
So.

(b:=negate(b); wäre irgendwie sinnlos, merke ich jetzt auch grad.)

[edit=SirThornberry]Delphi-Tags ergänzt. Mfg, SirThornberry[/edit]

Khabarakh 17. Apr 2006 12:30

Re: Boolean-Wert ändern
 
Zitat:

Zitat von Martin K
Inc, Pred und Succ bringt's dann nur bei ByteBool.

Zitat:

Bei einer Boolean-Variablen macht das nicht allzu viel Sinn,
da ich bei einfachen Boolean-Variablen mit Inc(x) das gleich bewirke wie mit x:=true;
Beide Aussagen sind falsch. Hast du dir himitsus Post wirklich durchgelesen :stupid: ?

Martin K 17. Apr 2006 12:41

Re: Boolean-Wert ändern
 
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Martin K
Inc, Pred und Succ bringt's dann nur bei ByteBool.

Zitat:

Bei einer Boolean-Variablen macht das nicht allzu viel Sinn,
da ich bei einfachen Boolean-Variablen mit Inc(x) das gleich bewirke wie mit x:=true;
Beide Aussagen sind falsch. Hast du dir himitsus Post wirklich durchgelesen :stupid: ?

Hä?
Dann hab ich wohl was falsch verstanden.
Also mich interresieren nur einfache Boolean-Variablen, also nur True oder False.

Hab's mal ausprobiert: Inc, Succ und Pred:
Egal, was meine Boolean-Variable vorher für einen Wert hatte, danach (bei allen drei) war sie immer TRUE.

Also kann ich doch auch eine einfache Zuweisung x:=true schreiben....

Khabarakh 17. Apr 2006 12:54

Re: Boolean-Wert ändern
 
Delphi-Quellcode:
var
  b: Boolean;
begin
  b := Boolean(High(Byte));
  Inc(b);
  Writeln(b);
  Readln;
end.
Nix ByteBool, nix dec, trotzdem False.
Auch wenn so etwas nicht häufig anzutreffen ist, sollte man sich der Grundlagen seines Tuns immer bewusst sein.

DGL-luke 17. Apr 2006 13:30

Re: Boolean-Wert ändern
 
wers unbedingt will und zwar ohne stackerhöhung, machts (ab D2005) so:

Delphi-Quellcode:
procedure Toogle(var b: Boolean); inline; //nb!
begin
b := not b;
end;
damit ersetzt der compiler den aufruf durch den code.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz