我在几乎所有的项目中都多次使用过这种场景,当我进行某种数据转换时,当涉及到布尔值时,在简化它时我有点迷茫。下面的这句话在我的代码中就像一个大拇指一样突出:
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'));
我确定这不是一个真正的命令,但我在一行中寻找那种简单性。