Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Boolean in Integer umwandeln (https://www.delphipraxis.net/83576-boolean-integer-umwandeln.html)

xZise 4. Jan 2007 18:57


Boolean in Integer umwandeln
 
Wie kann ich einen Boolean in einen Integer umwandeln?
"BoolToInt" gibts nicht :D

Wenn dann müsste ich es über "StrToInteger(BoolToStr())" machen. Und dass ist ja ein bisschen "unsinnig" ;)

morp2 4. Jan 2007 18:58

Re: Boolean in Integer umwandeln
 
Selber machen?

xZise 4. Jan 2007 19:02

Re: Boolean in Integer umwandeln
 
Und wie?

mkinzler 4. Jan 2007 19:02

Re: Boolean in Integer umwandeln
 
Ist doch leicht implementierbar:

Delphi-Quellcode:
function BoolToInt( b: Boolean): Integer;
begin
    if b then result := 1 else result := 0;
end;

xZise 4. Jan 2007 19:04

Re: Boolean in Integer umwandeln
 
Joar ^^ Das ist natürlich sinnvoll :D

Okay ^^

thkerkmann 4. Jan 2007 19:07

Re: Boolean in Integer umwandeln
 
Hi,

wie wär's denn mit
Delphi-Quellcode:
  i := ord (b);
Gruss

Mr_G 4. Jan 2007 19:08

Re: Boolean in Integer umwandeln
 
Oder direkt so:
Delphi-Quellcode:
i := Integer(b)
Das sollte auch hinhauen. Stellt sich nur die Frage ob das Ok/elegant ist :?:

St.Pauli 4. Jan 2007 19:54

Re: Boolean in Integer umwandeln
 
Zitat:

Zitat von Mr_G
Das sollte auch hinhauen. Stellt sich nur die Frage ob das Ok/elegant ist :?:

Meiner Meinung nach die eleganteste Lösung. Hätte es auch so gelöst!

k-weddige 4. Jan 2007 22:58

Re: Boolean in Integer umwandeln
 
Zitat:

Zitat von St.Pauli
Zitat:

Zitat von Mr_G
Das sollte auch hinhauen. Stellt sich nur die Frage ob das Ok/elegant ist :?:

Meiner Meinung nach die eleganteste Lösung.

Jein! So bekommt man zwar den Wert der Variable, aber nicht die Bedeutung.
vgl. http://www.delphipraxis.net/internal...=601791#601791
Bedeutungen hat Boolean nur zwei, Werte aber 256.

Konstantin

Popov 5. Jan 2007 00:21

Re: Boolean in Integer umwandeln
 
Meiner Kenntnis nach ist Ord (i := ord (b);) die korrekte Funktion dafür. Auch Borland wählt Ord in ihren Beispielen.

Aber um hier ein wenig das Chaos zu vergrößern, hier noch die vierte Möglichkeit ;)

Delphi-Quellcode:
const
  BoolToInt: array [Boolean] of Integer = (0, 1);
begin
  ShowMessage(IntToStr(  BoolToInt[False] ));
end;
Hat aber nicht den Anspruch nur annähend der richtige Weg zu sein, aber wenn es mal nicht 0 und 1 sein sollen, sondern vielleicht 0 und -1 (oder noch was anderes), dann wäre das am elegantesten und kürzesten.

Delphi-Quellcode:
const
  BoolToStr: array [Boolean] of String = ('Falsch', 'Richtig');
begin
  ShowMessage( BoolToStr[False] );
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Seite 1 von 2  1 2      

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