Thema: Delphi Zufallsboolean

Einzelnen Beitrag anzeigen

Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#20

Re: Zufallsboolean

  Alt 15. Aug 2008, 19:07
Hi,

Zitat von NamenLozer:
IF SCHLEIFE


@alzaimar: Da ist was dran. Ich denke folgendes Beispiel macht das mit =true besser verständlich:

Delphi-Quellcode:
var
  foo, bar: Boolean;

foo := <Funktion aus DLL die -1 (true in anderen Sprachen) zurückgibt>;
bar := <Funktion die 1 (derzeit true in Delphi) zurückgibt>;

if foo = bar then
  blubb; <-- wird nicht ausgeführt
Tja, true <> true, obwohl Äquivalenz vorliegt.

Notfalls würde folgendes helfen, solange feststeht, dass 0 = false:

Delphi-Quellcode:
function equivalent(b1, b2: Boolean): Boolean; inline;
begin
  Result := (b1 = false) = (b2 = false);
end;
Hauptsache, der Compiler optimiert das nicht.

Oder so:

Delphi-Quellcode:
function CorrectBool(b: boolean): boolean; inline;
begin
  Result := b <> false;
end;
Vllt sollte man dieses Thema aufsplitten. Ich sehe es schon kommen, dass es hier um drei Themen geht: Zufallsboolean, Boolean-Werte außerhalb [true, false] und if-ist-keine-schleife.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat