[Powerbuilder] Tips: CHOOSE CASEでNullを判定したい

C系列ならSwitch、VBならSelect Case文に相当するもの。PowerBuilderではCHOOSE CASE文を使う。

HELPには下記のような例文があるが、

CHOOSE CASE Weight
CASE IS<16
 Postage=Weight*0.30
 Method="USPS"
CASE 16 to 48
 Postage=4.50
 Method="UPS"
END CHOOSE

ここに

 CASE IS NULL
とか
CASE NULL

と書いてもコンパイルエラーになる。どうやらこの書き方ではNull判定できない様子。

[PowerBuilder] Datawindow式でよく見るチルダと引用符について

PowerBuilderの引用符について

の記事でも少し触れたが、Modifyメソッドに渡すパラメータ文字列を作成する際、チルダを用いた引用符の扱いが非常に面倒くさい。

ls_modify = "r_" + String(ll_i) + ".visible='1~tIF(結果" + String(ll_i) +" = ~~'~~', 1, 0)'"
dw_4.Modify(ls_modify)

↑こういうやたら~が多いやつ

 

理解するにはなかなか難しいのだが、一つ例を出してこの引用符について説明したい。

[PowerBuilder] タブラ様式のデータウィンドウコントロールにプロパティを設定する

データウィンドウの様式と、タブラ様式のデータウィンドウでよく使うプロパティ設定について。

 

データウィンドウ(DW)の様式について

DWにはいくつかの様式があり、DWが持つデータをどのように表現したいかによって好きな様式を選ぶことができる。

例えばグラフとか、一覧表示(タブラ)とか、フリーフォームとか...同じデータを持つDWでも、様式が変わると見え方が全く異なってくる。

個人的に一番よく使ったのが一覧表示に適しているタブラ様式。(他の様式については追って解説する予定)

[PowerBuilder] データウィンドウのプロパティ値を設定する方法

PowerBuilderでデータウィンドウのプロパティ値を取得/更新する場合、

  • 専用のメソッド(DescribeとModify)を用いて取得/更新する方法
  • プロパティ式を使ってDWのプロパティ値を直接参照/更新する方法

の2つがある。

DescribeとModifyを使う方法は前回の記事で説明したため、今回はそれと対比しながら直接DWオブジェクトに設定する方法を紹介する。

 

DescribeとModifyを使う方法

前回説明したが、DWのプロパティを取得するDescribeメソッドと、プロパティを更新するModifyメソッドがある。

 例)
//dw_1が持つempnameというオブジェクトのBorderプロパティ値を取得
dw_1.Describe("empname.Border")

//dw_1が持つempnameというオブジェクトのBorderプロパティ値に1をセット
dw_1.Modify("empname.Border=1")

詳細については前回の説明を見てほしい。