Re: Boolean in Integer umwandeln
Beides Falsch!
Delphi-Quellcode:
Und jetzt klick bitte 3x auf den Button. :angel:
var
Bool: Boolean; const BoolToStr: array [Boolean] of String = ('Falsch', 'Richtig'); procedure TForm1.FormCreate(Sender: TObject); begin Bool := False; end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add(BoolToStr[Bool]); Inc(Bool); end; Jetzt mit Ord(Bool):
Delphi-Quellcode:
Ord(Bool) macht das gleiche, wie Integer(Bool).
var
Bool: Boolean; procedure TForm1.FormCreate(Sender: TObject); begin Bool := False; end; procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add(IntToStr(ord(Bool))); Inc(Bool); end; Konstantin :wall: |
Re: Boolean in Integer umwandeln
Zitat:
Und noch was! Wer
Delphi-Quellcode:
eingibt und dann das
var
Bool: Boolean; const BoolToStr: array [Boolean] of String = ('Falsch', 'Richtig');
Delphi-Quellcode:
der hat entweder den falschen Job / falsches Hobby, oder er klugscheißt.
Inc(Bool);
Nicht falsch verstehen, ohne jetzt deinem Wunsch nachgekommen zu sein weiß ich was passieren wird, aber Boolean ist Boolean. Und wer Boolean addiert, der hat entweder die Übersicht verloren was er macht oder hat keine Ahnung was er macht. Da kannst du auch kommen, eine Byte Variable deklarieren, ihr den Wert 255 geben und dann um eins erhöhen. Einen Byte Variable um 1 erhöhen ist nicht falsch, wird aber falsch wenn sie bereits den Wert 255 hat, denn dann wundert sich der Wirt wieso er 256 Bier ausgegeben hat, aber keines auf der Rechnung steht. Also, entweder ich weiß nicht was ich tue, oder ich addiere nicht zu Boolean. Also, dir gelingt wahrscheinlich eine Fehlermeldung, aber was sagt uns das? Das du nicht programmieren kannst und mit Boolean addiert hast. Da kannst du auch gleich anfangen durch Null zu dividieren oder du weißt was du machst ;) |
Re: Boolean in Integer umwandeln
Hallo,
Zitat:
klugscheiß Ende. xaromz |
Re: Boolean in Integer umwandeln
Bevor jetzt etwas ausbricht was nicht geplant was - meine Variante war nur Spaß. Das war so weit von richtig (richtig im Sinne von Umrechnungsfunktion für BoolToInt), daß mich die Reaktion geradezu gewundert hat. Es sollte nur die Möglichkeiten zeigen was so alles möglich ist. Dabei kommt zwar was interessantes raus, ist aber keine Umrechnungsfunktion.
Zitat:
Aber um auf dein Einwand zu kommen Zitat:
Nur weil etwas nicht definiert ist, bedeutet es nicht, daß es eine Wahlmöglichkeit gibt. Ein Boolean hat zwei Zustände, nicht drei und auch nicht vier. Zwei. Ob nun False für 0 steht und True für 1, 2 oder 3 ist egal. Nicht egal ist ob True für 1 und 2 und 3 steht. Tut es nicht. Ein Boolean steht für zwei Zustände. Es kann für 0 und für 7 stehen, aber dann nicht für 1. Also, nur weil es nicht knallt wenn ich Inc(Bool) mache, bedeute es nicht, daß True alles ungleich 0 ist, dann dann wäre die Boolean Definition nicht, daß es eines von zwei Zuständen ist, sondern Null und allem Anderen. Deshalb kann man Inc(Bool) als Programmierfehler ansehen. Anders sieht es aus wenn du nicht von Delphi/Pascal sprichst, sondern allgemein. Da könnte False für 12 und True für 27 stehen. Hauptsache zwei Zustände. Aber wir sind hier in einem Programmierforum für Delphi. |
Re: Boolean in Integer umwandeln
:D Also ich finde diese Diskussion sehr interessant, und ich habe das jetzt über case geregelt ;)
Außerdem wollte ich nur überprüfen, ob das erste Zeichen ein bestimmten Wert hat. |
Re: Boolean in Integer umwandeln
Hallo,
Zitat:
Delphi-Quellcode:
Damit sind wir auch auf der sicheren Seite, wenn Borland einmal True und False neu definiert :mrgreen: .
function BoolToInt(B: Boolean): Integer;
begin if b then Result := Integer(True) else Result := Integer(False); end; Zitat:
Nix für ungut xaromz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 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