在我的几乎所有项目中,我经常使用这种场景,当我正在进行某种数据转换时,当涉及布尔值时,我会有点迷失,不知道如何简化。下面这个语句在我的代码中到处都是,非常突兀:
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'));
我确定那不是一个真正的命令,但我正在寻找一行代码中的简单操作。