Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
Delphi 12 Athens
|
AW: Elegante Lösung gesucht, 3 Boolean-Werte, nur einer darf gesetzt sein
24. Feb 2016, 14:07
if Ord(A) + Ord(B) + Ord(C) <= 1 then
(maximal 1) und if Ord(A) + Ord(B) + Ord(C) = 1 then
(immer 1)
geht halt nur, wenn wirklich nur True und False drin stehen.
Einen Cast von Boolean auf Byte und zurück macht Delphi immer nur binär.
Es gibt in Pascal keine Möglichkeit zu steuern ob Binär oder Logisch konvertiert wird. (es gibt immer nur je Eines von Beidem)
if Ord(A <> False) + Ord(B <> False) + Ord(C <> False) = {<=} 1 then
NOT
arbeitet bei einem Boolean logisch und nicht binär (glaub ich), also ginge auch
if Ord(not A) + Ord(not B) + Ord(not C) = {>=} 2 {3-1} then
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
|