Chinaunix首页 | 论坛 | 博客
  • 博客访问: 69036
  • 博文数量: 15
  • 博客积分: 575
  • 博客等级: 中士
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-25 14:49
文章分类

全部博文(15)

文章存档

2011年(1)

2006年(14)

我的朋友

分类:

2006-05-29 14:52:02

 

第六章  先进的程序设计方法

 

       这章介绍更先进的程序设计方法,包括:

       从高级语言程序(包括CL程序)引出的特别函数

              用提示和程序员菜单来输入程序源语句

       先进函数命令请看系统API参考。

       这章包括GUPI,它是IBM做的在客户写的程序中使用的变量,在这章末尾给出几个样板程序。

 

6.1  使用QCAPCMD程序

处理命令(QCAPCMD)应用程序接口(API)完成命令串的分析处理,可使用这API做:

在运行命令串之前做语法检查

提示命令及接收修收的命令串

使用来自高级语言的命令

显示命令的帮助信息

详细内容请看系统API参考。

 

6.2  使用QCMDEXC程序

执行命令(QCMDEXC)是IBM提供的运行一个简单命令的程序,用它来激活另外的命令:

从用HLL写的程序中。

从用CL写的过程中。

从在编译时并不知道运行什么命令或不知用什么参数的程序中。

QCMDEXC程序是用HLLCL过程和程序调用,运行CALL命令并做为CALL的参数传送。

 

CL or HLL program                     QCMDEXC

ž

ž

ž

CALL QCMDEXC(PARM1 PARM2)

ž

ž

ž

 

 

PGM(PARM1 PARM2)

ž

ž

ž

RETURN

 

 

 

 

 

 


在命令运行后,控制返回给HLLCL过程和程序。

命令也可不在程序中运行,这样,在命令中就不能使用变量。另外,仅能用在CL过程和程序中的命令也不能用QCMDEXC程序运行。调用QCMDEXC程序的格式如下:

 

CALL  PGM(QCMDEXC)  PARM(命令  命令长度)

 

在第一个参数中输入做为字符串的要运行的命令,如果命令中有空格,必须用引号括起。字符中的最大长度为6000个字符,其中不包括引号。第二个参数(长度)是做为命令传递的字符串长度,它必须是15位长5位小数的压缩十进制值。下面是替换库列表的调用QCMDEXC程序的命令:

 

         CALL PGM(QCMDEXC) PARM('CHGLIBL LIBL(QGPL NEWLIB QTEMP)' 31)

 

可把上述语句用在HLLCL程序中来替换程序运行时的库列表。用这种方法在运行时没有灵活性,要在运行时灵活替换库列表:

1、在参数列表中把常量换成变量。

2、在调用HLLCL程序时规定变量的值。

如下所示:

 

 

CALL PGM(PGMA) PARM('CHGLIBL...' 3000)

   

   

       

       

阅读(1370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~