私はほぼすべてのプロジェクトでこのシナリオを何度も使用してきました。ある種のデータ変換を行っているとき、ブール値に関しては、単純にすることになると少し迷ってしまいます。以下のこのステートメントは、私のコード全体で親指のように突き出ています。
if BoolVal then
StrVal:= 'True'
else
StrVal:= 'False';
この評価を実行する簡単な方法があるかどうか疑問に思っていますか? おそらく、Case
私が知らないステートメントの使用ですか?私の実際の実装は単なるものよりも複雑ですStrVal
が、True か False かに応じて 2 つの異なる値を返すことで構成されています。たとえば、ここにいくつかの実際のコードがあります...
if fsBold in Can.Font.Style then
ConvertTo(AddSomeOtherText + 'True')
else
ConvertTo(AddSomeOtherText + 'False');
それは、私が望んでいることがどれほど単純かを強調するためです。私はこれに沿って何かできるかどうか疑問に思っています:
ConvertTo(AddSomeOtherText + BoolToStrCase((fsBold in Can.Font.Style), 'True', 'False'));
これは本当のコマンドではないと確信していますが、そのような単純さを 1 行で探しています。