You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

2.3.3.2 Visual LANSAフォーム

Visual LANSAフォームは、前のアプリケーションと全く同じ機能を持ちます。さらに、結婚状況に基づいてフィールドを有効または無効にすることにより、必須のフィールドを示します。この即時の反応により、ユーザーに必要な情報を入力させることができます。

フォームのソース
フォームのソース・コードは次の通りです。
***************************************************
*                                                 

  • COMPONENT:  STD_FORM                            
    *                                                 
    ***************************************************
    FUNCTION OPTIONS(*DIRECT)
    BEGIN_COM HEIGHT(240) LEFT(313) TOP(155) WIDTH(600)
     
  • Component Definitions
    DEFINE_COM CLASS(#IDNO.Visual) NAME(#IDNO) DISPLAYPOSITION(1) HEIGHT(19) LEFT(16) MARGINLEFT(120) PARENT(#COM_OWNER) TABPOSITION(1) TOP(16) WIDTH(209)
    DEFINE_COM CLASS(#SPOUSE.Visual) NAME(#SPOUSE) DISPLAYPOSITION(2) HEIGHT(19) LEFT(200) PARENT(#COM_OWNER) TABPOSITION(2) TOP(56) WIDTH(369)
    DEFINE_COM CLASS(#MARRIED.Visual) NAME(#MARRIED) DISPLAYPOSITION(3) HEIGHT(19) LEFT(200) PARENT(#COM_OWNER) TABPOSITION(3) TOP(80) WIDTH(232)
    DEFINE_COM CLASS(#DIVORCED.Visual) NAME(#DIVORCED) DISPLAYPOSITION(5) HEIGHT(19) LEFT(200) PARENT(#COM_OWNER) TABPOSITION(5) TOP(104) WIDTH(232)
    DEFINE_COM CLASS(#PRIM_PHBN) NAME(#SAVE) CAPTION('Save') DISPLAYPOSITION(4) LEFT(488) PARENT(#COM_OWNER) TABPOSITION(4) TOP(120)
    DEFINE_COM CLASS(#PRIM_PHBN) NAME(#DELETE) CAPTION('Delete') DISPLAYPOSITION(6) LEFT(488) PARENT(#COM_OWNER) TABPOSITION(6) TOP(152)
    DEFINE_COM CLASS(#PRIM_PHBN) NAME(#FETCH) CAPTION('Fetch') DISPLAYPOSITION(7) HEIGHT(17) LEFT(288) PARENT(#COM_OWNER) TABPOSITION(7) TOP(16) WIDTH(57)
    DEFINE_COM CLASS(#PRIM_GPBX) NAME(#GPBX_1) CAPTION('Marital Status') DISPLAYPOSITION(8) HEIGHT(97) LEFT(16) PARENT(#COM_OWNER) TABPOSITION(8) TABSTOP(False) TOP(40) WIDTH(153)
    DEFINE_COM CLASS(#PRIM_RDBN) NAME(#RDBN_1) CAPTION('Never Married') DISPLAYPOSITION(1) LEFT(16) PARENT(#GPBX_1) TABPOSITION(1) TOP(16) WIDTH(105)
    DEFINE_COM CLASS(#PRIM_RDBN) NAME(#RDBN_2) CAPTION('Married') DISPLAYPOSITION(2) LEFT(16) PARENT(#GPBX_1) TABPOSITION(2) TOP(38) WIDTH(65)
    DEFINE_COM CLASS(#PRIM_RDBN) NAME(#RDBN_3) CAPTION('Divorced') DISPLAYPOSITION(3) LEFT(16) PARENT(#GPBX_1) TABPOSITION(3) TOP(60) WIDTH(73)
    DEFINE_COM CLASS(#PRIM_STBR) NAME(#STBR_1) DISPLAYPOSITION(9) HEIGHT(23) LEFT(0) MESSAGEPOSITION(1) PARENT(#COM_OWNER) TABPOSITION(9) TOP(190) WIDTH(592)
     
  • Other definitions
    GROUP_BY NAME(#PANELDATA) FIELDS(#STATUS #SPOUSE #MARRIED #DIVORCED)
    EVTROUTINE handling(#com_owner.Initialize)
    SET #com_owner caption(*component_desc)
    ENDROUTINE
     
  • Event routines
  • Fetch file mstatus details    
    EVTROUTINE HANDLING(#FETCH.Click)
    FETCH FIELDS(#PANELDATA) FROM_FILE(mstatus) WITH_KEY(#IDNO) ISSUE_MSG(*YES)
    if cond('#status *eq N')
    set com(#RDBN_1) ButtonChecked(True)
    set com(#spouse #married #divorced) enabled(false)
    endif
    if cond('#status *eq M')
    set com(#RDBN_2) ButtonChecked(True)
    set com(#spouse #married) enabled(true)
    set com(#divorced) enabled(false)
    endif
    if cond('#status *eq D')
    set com(#RDBN_3) ButtonChecked(True)
    set com(#spouse #married #divorced) enabled(true)
    endif
    ENDROUTINE
     
  • Enable and disable fields according to marital status
    EVTROUTINE HANDLING(#RDBN_1.Click )
    set com(#spouse #married #divorced) enabled(false)
    set com(#spouse) value(*blank)
    set com(#married #divorced) value(*zero)
    change #status 'N'
    ENDROUTINE
     
    EVTROUTINE HANDLING( #RDBN_2.Click )
    set com(#spouse #married) enabled(true)
    set com(#divorced) value(*zero)
    set com(#divorced) enabled(false)
    change #status 'M'
    ENDROUTINE
     
    EVTROUTINE HANDLING(#RDBN_3.Click)
    set com(#spouse #married #divorced) enabled(true)
    change #status 'D'
    ENDROUTINE
     
    *Save details
    EVTROUTINE HANDLING(#Save.Click)
    UPDATE FIELDS(#PANELDATA) IN_FILE(mstatus)
    ENDROUTINE
    EVTROUTINE HANDLING(#DELETE.Click)
    DELETE FROM_FILE(mstatus) ISSUE_MSG(*YES)
    ENDROUTINE
    END_COM
    2.3.3.3 コードの比較」を参照してください。
    [ |../../index.htm#lansa/l4wdev06_0225_b.htm]
  • No labels