8.7.2 DEFINE_PTYの使用例

LANSA

8.7.2 DEFINE_PTYの使用例


例 1

このコマンドは、フォームBのプロパティSTREETNOを定義します。オーナー・フォームでこのプロパティの値を設定する際に、フォームBの#address1フィールドに自動的に値が割り当てられます。オーナー・フォームでこのプロパティの値を検索すると、フォームBの#address1フィールドに設定されている現在の値が返されます。

define_pty name(STREETNO) set(*auto #address1) get(*auto #address1)
 

これで、オーナー・フォームは、以下のように、プロパティの値を設定することができます。

set COM(#FORMB) STREETNO('58 Surrey St')
 

または、#ADDRESS1を含む場合は、以下のように、このフィールドの現在の値を渡すことができます。

set COM(#FORMB) STREETNO(#ADDRESS1)
 

例 2

この例では、PHBNボタンへの参照を取得するプロパティを定義します。

Define_Pty Name(Button1) Get(*Reference #Phbn_1)
 

すると、オーナー・コンポーネントのButton1プロパティを使用して、Parentプロパティを変更するために、以下のように、#Phbn_1にアクセスできます。

Set Com(#COM_OWNER.Button1) Parent(#GPBX_1) 
 

例 3

この例ではコレクションへの参照を取得します。

Define_Pty Name(TheCollection) Get(*Collection #Collection)
 

これは、その後、参照を使用してコレクションの中で繰り返され、以下のように、値とコレクション項目のキャプションをリストに追加します。

For Each(#Current) In(#COM_OWNER.TheCollection) Key(#CurrentKey)
 
Change Field(#STD_COUNT) To('#CurrentKey.Value')
Change Field(#STD_DESCS) To('#Current.Caption')
 
Add_Entry To_List(#GRID_1)
 
Endfor