Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#38

Re: Informatik Unterricht

  Alt 10. Nov 2009, 19:01
Hier wurde jetzt mal absichtlich ein "defekter" Boolean-Wert erzeugt.
Rein logisch entspricht er einem TRUE, also müßte die Meldung für "b" und "b = true" erscheinen.
Delphi-Quellcode:
var b: Boolean;
begin
  b := Boolean(3);
  if b then ShowMessage('b');
  if not b then ShowMessage('not b');
  if b = false then ShowMessage('b = false');
  if b = true then ShowMessage('b = true');
  if b <> false then ShowMessage('b <> false');
Wie aber jeder selber testen kann, erscheint b=true nicht.

PS:
Delphi-Boolean: True=1 ($01)
Windows-Boolean: True=-1 (boolaka ByteBool = $ff und BOOL aka LongBool = $ffffffff)
> das sind die Werte der Konstanten, aber was die Variablen betrifft...

rein logisch bedeutet TRUE gleich b<>0 und nicht b=irgendwas


zu Diesem
Zitat:
if x = y then b := true else b := false;
jupp, falsch ist es nicht ... nur halt manchmal etwas umständlich und manchmal nicht
Delphi-Quellcode:
if x = y then Label1.Visible := true else Label1.Visible := false;
if x = y then Label1.Show else Label1.Hide;
PS: das ist wie
x := x + 10; oder
Inc(x, 10); Beides ist richtig.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat