Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.064 Beiträge
 
Delphi XE2 Professional
 
#23

Re: ASM - PChars vergleichen

  Alt 8. Okt 2006, 15:20
Zitat von Muetze1:
Zitat von Amateurprofi:
Zitat von 3_of_8:
Ein Boolean ist nichts anderes als ein Byte. Nur dass er normalerweise nur $00 oder $FF enthält.
Nein, $00 für False, $01 für True.
Sollte und nicht ist!

False = $00, True <> $00

Und nur so, kann man ordentlich arbeiten. Es gibt genug Dinge in der VCL die nicht eine $01 bei True zurück geben! Siehe auch die ständigen Hinweise zum = True Vergleich in If Abfragen.
Thomas,
das kann schon sein daß Funktionen bei unsauberer Programmierung für True etwas anderes als $01 zurückgeben,
aber das war hier nicht gefragt.
Die Frage war, was ein Boolean Wert ist, und unter Delphi ist für Boolean-Werte definiert 0=False und 1=True.
Die Tatsache, daß intern bei der Prüfung auf 0 geprüft wird und alles, was nicht 0 ist als True erkannt wird ändert nichts an dieser Definition. Es ist ja z.B. auch klar, daß 2 * 2 = 4 ist, und wenn jemand eine Multiplikations-Funktion so programmiert hat, daß sie für 2 * 2 als Resulttat 27 zurückgibt, dann ändert das auch nichts daran, daß 2 * 2 = 4 ist und bleibt.
Außerdem, wenn schon von unsauberer Programmierung die Rede ist : Es ist ja nicht ausgeschlossen, daß jemand eine Routine schreibt, in der er prüft ob ein als Boolean definierter Wert = 1 ist, und dann alles, was nicht 1 ist, als False interpretiert und dann ist Deine Aussage "und nur so kann man ordentlich arbeiten" nicht viel wert.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat