Hintergrund ist, dass das sonst so ausgewertet wird:
Delphi-Quellcode:
if combobox1.caption=('Celsius' and combobox2.caption='Fahrenheit') then
...
Und das geht logischerweise nicht.
Eigentlich so
Delphi-Quellcode:
if combobox1.caption = ('Celsius' and combobox2.caption) = 'Fahrenheit' then
...
// bzw.
if (combobox1.caption = ('Celsius' and combobox2.caption)) = 'Fahrenheit' then
...
Denn AND ist höherwertiger, als das =, bei der Auswertungsreihenfolge.
Wenn = höherwertiger wäre, dann würden die = vor dem AND aufgelst und es würde gehn, aber dann dürfte man bei
if i and $01 <> 0
das AND klammern, weildas nicht mehr ginge.
AND bei Strings gibt es nicht und ein doppelter Vergleich ist auch nicht möglich, da
if combobox1.caption = {string} = 'Fahrenheit' then
so
if (combobox1.caption = {string}) = 'Fahrenheit' then
geklammert und danach dann so
if {boolean} = 'Fahrenheit' then
ausgewertet wird.