nakamurakko’s blog

仕事で覚えたこと、勉強したことを自分のメモ代わりに書いていこうかなと。

TStringHelperの弱点

実行環境:Delphi XE7 Professional Update 1

TStringHelperが用意された事で、文字列操作が

  1. Trim(' Hello ');


から

  1. ' Hello '.Trim


のように書けるようになった。

ただ困ったのは、例えば、TMaskEditが持っているTextプロパティに対して、

  1. MaskEdit1.Text.Trim


のように書くとコンパイルエラーになる。

  1. Trim(MaskEdit1.Text)


は問題ない。

Textプロパティの型定義はTMaskedTextとなっているため、「Text.Trim」と書けないらしいけど、TMaskedTextの定義を見るとUnicodeString(ソースを見るとstring)となっているから、

  1. string(MaskEdit1.Text).Trim


みたいにキャストすればコンパイルエラーは出なくなった。

TStringHelper(ヘルパークラス)は再定義されたstring型までは追えないらしいから、キャストするしかないのかな。