Est-il un moyen plus facile de faire boolean conversions?

J'ai utilisé ce scénario plusieurs fois dans presque tous mes projets, quand je suis en train de faire une sorte de conversion de données, quand il s'agit de booléens, j'ai un peu avoir un peu perdu quand il s'agit de faire simple. Cette déclaration ci-dessous colle dehors comme un pouce endolori tout mon code:

if BoolVal then
  StrVal:= 'True'
else
  StrVal:= 'False';

Je me demande si il ya un moyen plus facile pour effectuer cette évaluation? Peut-être une certaine utilisation de l' Case déclaration, je ne le sais pas? Ma réelle mise en œuvre est plus complexe que juste StrVal mais il ne se composent que de retourner deux valeurs différentes en fonction de si c'est Vrai ou Faux. Pour exemple, voici quelques-uns de code réel...

if fsBold in Can.Font.Style then
  ConvertTo(AddSomeOtherText + 'True')
else
  ConvertTo(AddSomeOtherText + 'False');

C'est juste pour insister sur la manière simple, je l'espère. Je me demande si je peux faire quelque chose le long des lignes de ce:

ConvertTo(AddSomeOtherText + BoolToStrCase((fsBold in Can.Font.Style), 'True', 'False'));

Je suis sûr que c'est pas une commande, mais je suis à la recherche de ce type de simplicité dans une seule ligne.

  • Ok ce n'était pas vraiment "réel" code mais juste un exemple que je déteste la duplication de code pour chaque boolean d'évaluation.
  • Est-ce que votre langue de support de l'opérateur ternaire? StrVal =: BoolVal ? 'True' : 'False'
  • Étrangement, je vois que la précédente question sur StackOverflow liées à Delphes est aussi se demander comment faire un Booléen comparaison simple. Autre question entièrement avec des réponses différentes, mais les deux dos à dos...
InformationsquelleAutor Jerry Dodge | 2012-11-06