Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#14

AW: Elegante Lösung gesucht, 3 Boolean-Werte, nur einer darf gesetzt sein

  Alt 22. Feb 2016, 22:51
Das kann man ja mit einer einfachen if-Abfrage vorher prüfen.
oder
bOK := (B1 xor B2 xor B3) and not (B1 and B2 and B3);
Das ist elegant! So etwas suchte ich auch, fand es aber auf die Schnelle nicht. Zwar werden die drei Variablen zweimal miteinander verknüft (soweit war ich noch(?) nicht), jedoch verbleibt die Lösung des Problems auf dem Niveau boolescher bzw. logischer Operationen (die Addition ist pragmatisch und korrekt, hat aber den zwangsläufigen Nimbus einer Bastelei). Außerdem ist augenblicklich klar, daß diese Funktion für beliebig viele Operanden erweiter- bzw. anwendbar ist (beliebig großes boolesches Array).

Meine Anerkennung!
  Mit Zitat antworten Zitat