カラムのプロパティに設定した式を動的に取得する
2021/07/07
方法
データウィンドウのカラムのプロパティに設定した式は Describe 関数やドット表記でプロパティの値を取得し、タブ文字 (~t) の後の文字列を切り出します。
カラムのプロパティに式を設定すると、設定されている値と式がタブ文字 (~t) で区切られて格納されます。
たとえば、カラム (value) の「文字の色」を黒に設定している状態で、式として「値がマイナスの場合は赤」に設定するため “IF(value < 0, 255, 0)” という式を設定している場合、Describe やドット表記でプロパティを取得すると “0~tIF(value < 0, 255, 0)” という文字列が取得されます。 この取得した値を Mid 関数などで切り出すことにより式を取得することができます。
【例】カラム (value) の「文字の色」プロパティ (color) に設定された式を取得する
string ls_prop string ls_formula // プロパティを取得 ls_prop = dw_1.Describe("value.color") // 式を切り出す ls_formula = Mid(ls_prop, Pos(ls_prop, "~t") + 1) // プロパティが引用符 (") で括られているため末尾の 1 文字を除去 ls_formula = Left(ls_formula, Len(ls_formula) - 1)
Tips情報
プロダクト :PowerBuilder バージョン :2017R3