壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5276|回复: 13

progress程序的三种模板介绍

  [复制链接]
发表于 2009/8/12 20:51:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 xugghu 于 2009/8/12 21:04 编辑

       QAD系统内主要有三类程序:维护程序,报表程序,查询程序。Progress程序一般都有比较固定的模式。


一、维护类程序模板。

{mfdtitle.i} /* 程序头,全局变量定义等,标准QAD的程序都需要加载此文件 */
define variables. /* 变量定义 */
form with frame a.  /* frame定義,維護畫面內容 */
setFrameLabels(frame a:handle).    /* 畫面標簽設置 */
Mainloop:
repeat:
      prompt-for …   editing: /
*通常输入關鍵字段 */
       {mfnp.i ……}             /* 按上下鍵前后显示记录功能 */
      end.

/*
记录的增改删处理 */

         assign global…
         find …

/*
在记录表中查询此条记录 */

         if not available … /* 如果不存在此记录,则新增一条记录 */
             {mfmsg.i 1 1}   /* 类似mfmsg的子程序,都是信息提示类 */
             create …          /* 创建记录*/
             assign …          /* 给记录赋值 */
         end.
         Status = stline{2}.
         update go-on (F5 or Ctrl-D)  
/* 继续维护剩余字段 */
         if F5 or CTRL-D then do: /* 判断是否按了删除键,一般F5或者Ctrl + D */
             del-yn = yes.
             {mfmsg01.i 11 1 del-yn}     
/* 刪除的處理 */
         end.
End.
Status input.

二、报表类程序的模板。
{mfdtitle.i}           /* 頭文件,必須要有*/
define variables. /* 变量定义 */

form
……
with frame a side-labels width 80.    /*报表输入画面,限定输入参数,为一个frame */
setFrameLabels(frame a:handle).

{wbrp01.i}
repeat:
   
…….      /* 报表输入参数的控制 */   

if c-application-mode <> 'web' then update…… with frame a. /*
更新输入内容*/


{wbrp06.i &command = update &fields = " ……" &frm = "a"}

      bcdparm = "".
     {mfquoter.i   part }

     {mfquoter.i   part1 }
     {mfquoter.i   effdate}
     {mfquoter.i   effdate1 }


      ……….

end.   
     {mfselbpr.i   “printer” 132} /*
选择打印机的子程序 */


     for each…                  /* 根据输入参数在相关表中查询记录 */
         display
         {mfrpchk.i} or {mfrpexit..i} /
* 报表结束 */
     end.
   {mfrtrail.i} or {mftr0801.i} or {mfreset.i} /
* 报表结束、打印结束等 */
end.

三、查询类程序模板。
{mfdtitle.i}
/*
头文件 */

define variables. /* 变量定义 */
form
      
……
with frame a side-labels width 80.      /* frame 定义 */

repeat:
      
……            /* 输入参数控制 */
       {mfselprt.i “terminal” 80 }
       for each [selection criteria]
             display …
             {mfrpchk.i} (max page)
       end.
       {mfreset.i} (scroll output)
       {mfmsg.i 8 1}
end.
发表于 2009/9/8 15:06:04 | 显示全部楼层
- -   我也在学习这些  有空大家可以一起交流下
发表于 2009/10/29 12:04:18 | 显示全部楼层
回复 2# qichun513


    QAD  在精艺制造方面是很不错的,值得学习!!
发表于 2009/12/27 22:03:25 | 显示全部楼层
用 progress 做一个良好的维护程序,还是有点麻烦的,特别是多个嵌套循环,多个repeat,再加上一些do transtion 之类的东西,在可视化编程流行的今天,能够专注到细节实现的人不多了,也许那些做个fox for dos
的那代人对学progress的编程会有一些似曾相识,因为一切都要靠代码写出来,例如计算显示的坐标等
 楼主| 发表于 2009/12/28 21:52:24 | 显示全部楼层
回复 4# jhdandliai


    是的。Progress语言是属于面向过程的语言,比较过时了。知道这门语言的人很少,使用的人也不多。
发表于 2010/2/5 16:22:39 | 显示全部楼层
你们都说到我心坎上了,
发表于 2010/5/21 08:43:27 | 显示全部楼层
楼主,good
发表于 2011/3/22 11:45:22 | 显示全部楼层
我是初学者,这么一说,感觉前途很渺茫啊!!
发表于 2011/12/29 11:13:00 | 显示全部楼层
progress其实很简单...
网上也就这些资料了
{:soso_e108:}
发表于 2012/7/10 21:19:05 | 显示全部楼层
学习一下,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 03:11 , Processed in 0.018712 second(s), 16 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表