カラムのプロパティに設定した式を動的に取得する

PowerBuilder Tips

方法

データウィンドウのカラムのプロパティに設定した式は 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

Tips 一覧を見る
PowerBuilder 2019 R3 日本語版リリース
PowerBuilder マイグレーション