Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../index.htm#lansa/define_pty_e.htm]
現在地:

...

7.34.2 DEFINE_PTYの使用例

例 1

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

Code Block
define_

...

pty name(STREETNO)

...

 set(*

...

auto #address1) get(*

...

auto #address1)

...

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

Code Block

...

set COM(#FORMB)

...

 STREETNO('

...

58 Surrey St')

...

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

Code Block

...

set COM(#FORMB)

...

 STREETNO(#ADDRESS1)

...


例 2

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

Code Block
Define_

...

Pty Name(Button1)

...

 Get(*

...

Reference #Phbn_1)

...

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

Code Block

...

Set Com(#COM_OWNER.Button1)

...

 Parent(#GPBX_1)

...


例 3

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

Code Block
Define_

...

Pty Name(TheCollection)

...

 Get(*

...

Collection #Collection)

...

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

Code Block

...

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