Я использовал этот сценарий много раз почти во всех моих проектах, когда я делаю какое-то преобразование данных, когда дело доходит до логических значений, я немного теряюсь, когда дело доходит до простого его использования. Это утверждение ниже выглядит как больной палец по всему моему коду:
if BoolVal then
StrVal:= 'True'
else
StrVal:= 'False';
Мне интересно, есть ли более простой способ выполнить эту оценку? Возможно, какое-то использование оператора Case
, о котором я не знаю? Моя фактическая реализация сложнее, чем просто StrVal
, но она состоит из возврата двух разных значений в зависимости от того, являются ли они True или False. Например, вот какой-то реальный код...
if fsBold in Can.Font.Style then
ConvertTo(AddSomeOtherText + 'True')
else
ConvertTo(AddSomeOtherText + 'False');
Это просто для того, чтобы подчеркнуть, насколько я просто надеюсь. Мне интересно, могу ли я что-то сделать в соответствии с этим:
ConvertTo(AddSomeOtherText + BoolToStrCase((fsBold in Can.Font.Style), 'True', 'False'));
Я уверен, что это не настоящая команда, но я ищу эту простоту в одной строке.