[ |../../index.htm#lansa/l4wdev06_0230.htm]
現在地:

2.3.4 LANSAのファンクションとフォームの操作

前の例では、簡単にコードを比較できるように簡潔にしていました。2つのプログラミングの手法でできることを実際に見るために、ここでは「・・・の処理」タイプのLANSAファンクションとVisual LANSAフォームでのアプリケーションの実装の例を取り上げます。
どちらのアプリケーションも、サンプル・ファイルPSLMSTの情報を管理します。社員の名字でキーになったファイルの論理ビューを使用します。これらを使用して社員の詳細の表示、編集、削除を行います。
LANSAファンクションは、FRMWRK1テンプレートを使用して作成されました。名字の一部を入力し、表示される社員を限定できる画面があります。

OKをクリックすると、社員の処理画面が表示されます。この画面には、名前の一部が一致する社員のリストが表示されます。OPTフィールドに番号を入力し、社員情報を表示、変更、削除できます。

変更オプションを選択すると、入力フィールドの画面が表示されます。

同様に、詳細オプションと削除オプションを選択すると、同じ情報を表示する画面が表示されますが、入力はできないようになっています。
以下に注意してください。

Visual LANSAアプリケーションは、1つのフォームで構成されます。上のLANSAファンクションと同じアクションを実行します。以下のものがあります。


以下に注意してください。

このようなアプリケーションを作成できるのは、個々のコントロールが自分のイベント・ルーチンを持つからにすぎません。イベント・ルーチンは、個々に実行されるので、以下のようにユーザーのアクションによってウィンドウを動的に変更できます。

 
EVTROUTINE HANDLING(#Get.Click)    change #surname #partname    clr_list #list_1    SELECT FIELDS(#list_1) FROM_FILE(PSLMST2)         WITH_KEY(#SURNAME) GENERIC(*YES)        add_entry #list_1    ENDSELECT   ENDROUTINE  
 

 
EVTROUTINE HANDLING(#List_1.ItemGotSelection)      FETCH FIELDS(#ALLFLDS) FROM_FILE(PSLMST) WITH_KEY(#EMPNO)  ENDROUTINE  
 

 
EVTROUTINE HANDLING(#SAVE.CLICK)      UPDATE FIELDS(#ALLFLDS) IN_FILE(PSLMST) WITH_KEY(#EMPNO)  ENDROUTINE    

 
EVTROUTINE HANDLING(#DELETE.CLICK)      DELETE FROM_FILE(PSLMST) WITH_KEY(#EMPNO)  ENDROUTINE  
 
このようなアプリケーションは、LANSA ファンクションでは画面が全体的に処理されるので、実装できません。
[ |../../index.htm#lansa/l4wdev06_0230.htm]