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" ;) |
Re: Boolean in Integer umwandeln
Selber machen?
|
Re: Boolean in Integer umwandeln
Und wie?
|
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; |
Re: Boolean in Integer umwandeln
Joar ^^ Das ist natürlich sinnvoll :D
Okay ^^ |
Re: Boolean in Integer umwandeln
Hi,
wie wär's denn mit
Delphi-Quellcode:
Gruss
i := ord (b);
|
Re: Boolean in Integer umwandeln
Oder direkt so:
Delphi-Quellcode:
Das sollte auch hinhauen. Stellt sich nur die Frage ob das Ok/elegant ist :?:
i := Integer(b)
|
Re: Boolean in Integer umwandeln
Zitat:
|
Re: Boolean in Integer umwandeln
Zitat:
vgl. http://www.delphipraxis.net/internal...=601791#601791 Bedeutungen hat Boolean nur zwei, Werte aber 256. Konstantin |
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:
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.
const
BoolToInt: array [Boolean] of Integer = (0, 1); begin ShowMessage(IntToStr( BoolToInt[False] )); end;
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. |
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