Versions Compared

Key

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

...

サンプル・アプリケーションを使用し、社員番号に基づいて社員の名前を取得します。

Image AddedImage Removed
 
アプリケーションが起動すると、アプリケーションが最後に終了されたときに表示されていた社員が表示されます。値はこのコードを使用して取得されます。

     EVTROUTINE handling(#com_owner.Initialize)

...

        CHANGE FIELD(#EMPNO #GIVENAME #SURNAME) TO(*remembered_value_for_function)
ENDROUTINE

...

 

フォームのサイズと位置の記憶

これと同じ方法を使用してフォームの位置とサイズを記憶することができますが、最初に情報を保存するフィールドを作成する必要があります。

     Define #top *dec 7 0
Define #left *dec 7 0
Define #width *dec 7 0
Define #height *dec 7

...

 0

それからこれらのフィールドの最後の値を取得し、Initializeイベントでフォームの適切なプロパティに割り当てる必要があります。

...

     EVTROUTINE handling(#com_owner.Initialize)

...

        CHANGE FIELD(#top #left #width #height) TO(*remembered_value_for_function)

...

        Set #com_owner top(#top)

...

 left(#left)

...

 width(#width)

...

 height(#height)

...

     ENDROUTINE 

アプリケーションが終了したときにこれらの4つのプロパティの現在の値をフィールドに保存するには、以下のように指定する必要があります。

...

     EVTROUTINE handling(#com_owner.closing)

...

        Change #top    #com_owner.top

...

        Change #left   #com_owner.left

...

        Change #width  #com_owner.width

...

        Change #height #com_owner.height

...

     Endroutine

コードの簡略化

アプリケーションで記憶するすべてのフィールドをグループ化してコードを簡略化できます。例えばそのグループを#Rememberと呼ぶことができるでしょう。

     group_

...

by name(#remember)

...

 fields(#top #left #width #height #empno #givename #surname)

 
そしてこの行を追加してフォームのイベントを初期化するだけです。

...

     Change #remember *remembered_value_for_user

すべてのフォームの記憶

STD_FORMコンポーネントの設定を記憶するために必要なコードを追加し、新しいフォームを作成するたびに使用する場合があります。詳細は「デフォルトのコンポーネントの動作の変更」を参照してください。