问下大家谁知道vfp中主程序和
vfp吧
全部回复
仅看楼主
level 2
青青一姐 楼主
问下大家谁知道vfp中主程序和子程序之间的参数传递呀?书上说值传递是单向的,地址传递是双向的,啥意思呀?跪求回复[委屈][委屈]
2016年08月30日 02点08分 1
level 12
* 子程序是磁盘文件,扩展名为【PRG】
* 主程序文件名:K1.PRG
SET TALK OFF
SET PROCEDURE TO SUB
Public cXZ, cDW, cBC && 选择、单位、编程人
H = 0
DO K2 WITH H, 5
cTS = "H = " + ALLTRIM(STR(H))
MESSAGEBOX(cTS, 0 + 64, "计算结果")
RETURN
* 子程序集文件名:SUB.PRG
PROCEDURE K2
PARAMETERS X, Y
X = (Y + 5) ** 2 && 平方计算
RETURN
* 计算结果是:H = 100 。
===============================================================
K1程序执行过程:
行2:调用程序文件SUB,使SUB中声明的过程K2链接到 K1 程序中
行4:执行过程K2,行3声明的变量H与过程K2的第一个参数X联系起来,
实际上H与X是等同的;Y = 5
进入过程K2内部执行,X = (5+5)^2 = 100,也就是 H = 100 了
行5:显示H值
关键要理解主程序中的H在过程K2看是实参,X是形参。
在 VFP 中,默认 H 与 X 是一个地址,实质上也就是同一个变量,
可以说 X 是 H 的别名。
在主程序中用【Public】声明的变量是全局变量。
===============================================================
2016年08月30日 02点08分 2
level 2
青青一姐 楼主
那请教一下为什么在主程序传递给子程序h的时候,h=0,为什么不能看成是把0传给了子程序呢[狂汗][狂汗]
2016年08月31日 23点08分 4
1