本章讲述如何编译和如何在4GL程序中使用FORM。 
三、编辑、编译和使用FORM 1、编辑       可以使用Informix提供的i4gl工具或用isql工具直接生成.per文件,但是这种方式格式单调、不友好。最好用vi直接编辑.per文件。注意.per文件的格式。 $ vi formtest.per
database formonly screen {        +----------------------------+      |   用户  :[f001]           |      |                            |      |   密码  :[f002  ]         |      |                            |      |   日期  :[f003      ]     |      +----------------------------+ } attributes f001=formonly.f_userid type char, picture = "AA##", reverse, autonext; f002=formonly.f_passwd type char, picture = "XXXXXX", invisible, virefy, autonext; f003=formonly.f_workdate type date, format = "yyyy/mm/dd", noentry;
保存。 2、编译       可以用i4gl和isql编译,但是我的i4gl启动时coredump,所以我用form4gl直接编译.per文件。 $ form4gl [ -s ] formtest.per 或 $ form4gl [ -s ] formtest       如果有错误或警告,将产生formtest.err文件。可能出现一大堆错误,但不用害怕,因为这一大堆错误提示可能就是文件开始处的小毛病造成的,并且提示都是汉字的,还有错误代码可用finderr查找。 $ finderr errcode 如果无错,就可产生formtest.frm文件了。 有时编译通过,可是在运行时提示诸如“找不到屏幕域”等提示,这时要修改程序或FORM,注意二者的结合。 3、使用       生成了.frm文件,就可在程序中打开和显示它了。基本流程如下: ###定义程序变量     DEFINE f_userid CHAR(4),            f_passwd CHAR(6)     DEFINE f_workdate DATE     LET f_workdate = CURRENT     ...... ###使用FORM     OPEN FORM frm_login FROM "formtest"     DISPLAY FORM frm_login     ...... ###输入数据     INPUT f_userid, f_passwd BY NAME           ......           ......           ON KEY (ACCEPT)              EXIT INPUT     END INPUT     DISPLAY BY NAME f_workdate       基本上是在程序中控制哪些域是否输入及输入的次序等方面,至于输入的格式和界面样式要在FORM中设定。       最后编译程序: $ c4gl -o formtest.4ge formtest.4gl       运行它: $ formtest.4ge       你就能看到你希望的界面了,坐在屏幕前享受一下自己的劳动成果吧!
(本文已被浏览 3515 次)
|
|