AIX | HP-UX | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
X | X | X | X | X | X | X | X |
可执行变量允许您从一个使用可执行变量特征的变量引用调用其它的程序。可执行变量 在 Net.Data 宏中用 EXEC 语言成份来定义。有关 EXEC 语言成份的更多信息,请参阅 EXEC 块或语句。
当 Net.Data 在宏文件中遇到可执行变量时,它将使用下列方法寻找被引用的可执行程序:
例 1:一个可执行变量定义
%DEFINE runit=%exec "testProg"
定义变量 runit 来执行可执行程序 testProg;runit 成为一个可执行变量。
Net.Data 在 Net.Data 宏中遇到一个可执行变量时运行可执行程序。例如,当 Net.Data 宏中有一个可执行变量引用建立成变量 runit 时,即执行 testProg 程序。
一种简单的方法是从另一个变量定义中引用一个可执行变量。例 2 演示了这个方法。变量 date 定义成一个可执行变量,dateRpt 定义成一个变量引用,它包含这个可执行变量。
例 2:作为一个变量引用的可执行变量
%DEFINE date=%exec "date" %DEFINE dateRpt="Today is $(date)"
当 Net.Data 分辨出变量引用 $(dateRpt),Net.Data 搜索此可执行日期,运 行该程序,并返回:
Today is Tue 11-07-1995
可执行变量永远不设置成它调用的可执行程序的输出值。使用先前的例子,日期的值是空的。 如果在 DTW_ASSIGN 函数调用中使用它来把它的值分配给另一个变量,则赋值后新变量的值也是空。 可执行变量的唯一目的是去调用它定义的程序。
也可以给要执行的程序,通过在变量定义上指定此程序名,将参数传送给它。
例 3:带参数的可执行变量
%DEFINE mph=%exec "calcMPH $(distance) $(time)"distance 和 time 的值传送给程序 calcMPH。