Versions Compared

Key

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

この例では、ファイルにリストの内容を保存したりロードする方法を説明します。社員の詳細のリスト・ビューを表示します。

DBMSからロードがクリックされると、PSLMSTテーブルから社員のリストがロードされます。Zipファイルからロードボタンがクリックされると、タブ区切り形式のc:\Employee_List.datという名前のファイルから社員のリストがロードされます。ファイルへ保管ボタンがクリックされると、タブ区切り形式でc:\Employee_List.datという名前のファイルに社員のリストが保存されます。  

Image RemovedImage Added

例の動作を見るには、このコードをフォーム・コンポーネントにコピーします。

...

     FUNCTION options(*DIRECT)
BEGIN_

...

COM role(*

...

EXTENDS #PRIM_FORM)

...

 HEIGHT(346)

...

 LEFT(327)

...

 TOP(120)

...

 WIDTH(620)
DEFINE_

...

COM class(#PRIM_LTVW)

...

 name(#EMPLIST)

...

 DISPLAYPOSITION(1)

...

 FULLROWSELECT(True)

...

 HEIGHT(285)

...

 LEFT(16)

...

 PARENT(#COM_OWNER)

...

 TABPOSITION(1)

...

 TOP(16)

...

 WIDTH(481)
DEFINE_

...

COM class(#PRIM_LVCL)

...

 name(#LVCL_1)

...

 DISPLAYPOSITION(1)

...

 PARENT(#EMPLIST)

...

 SOURCE(#EMPNO)

...

 WIDTH(22)
DEFINE_

...

COM class(#PRIM_LVCL)

...

 name(#LVCL_2)

...

 DISPLAYPOSITION(2)

...

 PARENT(#EMPLIST)

...

 SOURCE(#SURNAME)

...

 WIDTH(22)
DEFINE_

...

COM class(#PRIM_LVCL)

...

 name(#LVCL_3)

...

 DISPLAYPOSITION(3)

...

 PARENT(#EMPLIST)

...

 SOURCE(#GIVENAME)

...

 WIDTH(29)
DEFINE_

...

COM class(#PRIM_LVCL)

...

 name(#LVCL_4)

...

 DISPLAYPOSITION(4)

...

 PARENT(#EMPLIST)

...

 SOURCE(#SALARY)

...

 WIDTH(25)
DEFINE_

...

COM class(#PRIM_PHBN)

...

 name(#PB_DBMS)

...

 CAPTION('

...

Load from DBMS')

...

 DISPLAYPOSITION(2)

...

 LEFT(512)

...

 PARENT(#COM_OWNER)

...

 TABPOSITION(2)

...

 TOP(128)

...

 WIDTH(90)
DEFINE_

...

COM class(#PRIM_PHBN)

...

 name(#PB_FILE)

...

 CAPTION('

...

Load from File')

...

 DISPLAYPOSITION(3)

...

 LEFT(512)

...

 PARENT(#COM_OWNER)

...

 TABPOSITION(3)

...

 TOP(176)

...

 WIDTH(88)
DEFINE_

...

COM class(#PRIM_PHBN)

...

 name(#PB_SAVE)

...

 CAPTION('

...

Save to File')

...

 DISPLAYPOSITION(4)

...

 LEFT(512)

...

 PARENT(#COM_OWNER)

...

 TABPOSITION(4)

...

 TOP(226)

...

 WIDTH(90)
DEFINE_

...

COM class(#PRIM_PHBN)

...

 name(#PB_CLEAR)

...

 CAPTION('

...

Clear List')

...

 DISPLAYPOSITION(5)

...

 LEFT(514)

...

 PARENT(#COM_OWNER)

...

 TABPOSITION(5)

...

 TOP(272)

...

 WIDTH(87)

...

     DEFINE field(#RETCODE)

...

 type(*CHAR)

...

 length(2)

...

     EVTROUTINE handling(#com_owner.Initialize)
ENDROUTINE

...

     EVTROUTINE handling(#PB_DBMS.Click)
CLR_

...

LIST named(#EMPLIST)

...

     SELECT fields(#EMPLIST)

...

 from_file(PSLMST)
ADD_

...

ENTRY to_list(#EMPLIST)
ENDSELECT
ENDROUTINE

...

     EVTROUTINE handling(#PB_FILE.Click)
CLR_

...

LIST named(#EMPLIST)

...

     USE builtin(TRANSFORM_FILE)

...

 with_args(

...

#EMPLIST 'C:\EMPLOYEE_LIST.DAT'

...

 O)

...

 to_get(#RETCODE)
ENDROUTINE

...

     EVTROUTINE handling(#PB_SAVE.Click)

...

     USE builtin(TRANSFORM_LIST)

...

 with_args(

...

#EMPLIST 'C:\EMPLOYEE_LIST.DAT'

...

 O)

...

 to_get(#RETCODE)
ENDROUTINE

...

     EVTROUTINE handling(#PB_CLEAR.Click)
CLR_

...

LIST named(#EMPLIST)
ENDROUTINE
END_COM