![]() |
AW: TRUE/FALSE Part
Zitat:
Delphi-Quellcode:
Bann ist in etwa wie der Tipp der Mutti: Kind, es ist gerade der schönste Sonnenschein draußen, aber nimm trotzdem den Regenschirm mit, es könnte ja regnen.
if Foo = True then
Solange man NUR Pascal programmiert und keiner witzig ist und etwas manipuliert, sollte es keine Probleme geben. Aber Boolean ist meiner Kenntnis nach mindestens ein Byte, so dass da mehr als nur zwei Zustände reinpassen. Und man weiß ja nie mit wem man kommuniziert und was der für True hält, z. B. 1 oder -1 oder 25. |
AW: TRUE/FALSE Part
Zitat:
1 ist halt nicht TRUE. Aber 1 und TRUE ergeben beide WAHR. Einfach einmal eine Form mit 3Buttons anlegen und testen:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private-Deklarationen } FVar: Variant; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if (FVar = true) then begin ShowMessage('True'); end; if (FVar = 1) then begin ShowMessage('1'); end; if (FVar) then begin ShowMessage('nur FVar'); end; end; procedure TForm1.Button2Click(Sender: TObject); begin FVar := true; end; procedure TForm1.Button3Click(Sender: TObject); begin FVar := 1; end; end. |
AW: TRUE/FALSE Part
Zitat:
Seit ich mit Delphi und dies ist schon seit Version 1, arbeite war True immer True. Einfach einmal testen:
Delphi-Quellcode:
Const
Pruefen = 1; procedure TForm1.Button1Click(Sender: TObject); begin if (Pruefen) then begin ShowMessage('Hier komm ich niemals hin, da dieser Code nicht kompiliert wird'); end; end; |
AW: TRUE/FALSE Part
Delphi-Quellcode:
ShowMessage('True = ' + BoolToStr(True));
ShowMessage('False = ' + BoolToStr(False)); |
AW: TRUE/FALSE Part
Wir haben hier viele gute und sachliche Argumente gehört - aber lasst doch die Erbsenzählerei sein.
Nicht jedes Wort gehört auf die Goldwaage. |
AW: TRUE/FALSE Part
Zitat:
Danke für die rege Beteiligung. gruss |
AW: TRUE/FALSE Part
Zitat:
Code:
ist.
FALSE = 0;
TRUE = !FALSE; Auch wenn man (jedenfalls vor Zig Jahren auch in jeder zweiten .h-Unit auch ein TRUE = 1 (oder = -1) sieht1 |
AW: TRUE/FALSE Part
Zitat:
BoolToStr gibt ja auch nur die Strings zurück, welche in der Funktion hinterlegt sind
Delphi-Quellcode:
Setzt man als 2. Parameter true kommt für
function BoolToStr(B: Boolean; UseBoolStrs: Boolean = False): string;
const cSimpleBoolStrs: array [boolean] of String = ('0', '-1'); begin if UseBoolStrs then begin VerifyBoolStrArray; if B then Result := TrueBoolStrs[0] else Result := FalseBoolStrs[0]; end else Result := cSimpleBoolStrs[B]; end; True nicht "-1" sondern "True" und für False nicht "0" sondern "False" zurück. |
AW: TRUE/FALSE Part
Zitat:
Delphi-Quellcode:
ShowMessage(IntToStr(Ord(True)));
Deine Argumentation ist halt falsch, auch wenn sie zur Hälfte betrachtet (nur von außen und nicht von innen) schon richtig aussehen mag. :zwinker: Es hat niemand gesagt, daß True = 1 ist, so wie du es versuchst zu erklären. Genauso kann ich keine Char oder Pointer mit einem Integer vergleichen. Willst du also auch behaupten, daß ein Zeilenumbruch nicht 10 und/oder 13 ist? :zwinker: Rate mal, warum ich in meinem Beispiel den nummerischen ordinalen Wert in einen Boolean gecastet hatte, anstatt Ihn einfach so zu versuchen zuzuweisen. Boolean ist intern ein Byte, aber wie dieses Byte behandelt und ausgewertet wird, hängt vom Typ ab. (Byte, ShortInt, AnsiChar, Enum, Set usw.) |
AW: TRUE/FALSE Part
Im Zitat von EWeiss steht:
Zitat:
Zitat:
Klar, dass dies nicht funktionieren kann, aber es sollte eben verdeutlichen, dass True eben nicht 1 ist. Bei anderen Boolschen Typen also nicht Boolean sondern ByteBool, WordBool oder LongBool ist Ord(True) auch nicht 1 sondern ungleich 0. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz