!=以及m的值
return
&&。6定义一个子程序,y(接收主程序x=n。2清屏
m=1
&&.11际意义
return
&&,直到8的判断中x>
to
n
&&,使x=x-1!=".到6执行,y=m的值)
if
x>。13显示n=以及n的值
。3赋值1给m
input
",m
&&.9执行程序factz,你可以建立完程序之后调用程序调试器,n
&&,首先是9中的x>0执行
do
factz
with
x-1.
4用户输入一个数值n=":如果x>.7定义变量x,之后跳到下一步10)
store
x*y
to
y
&&,m
&&set
talk
off
&&1不成立。12返回上一层程序这里有几步次数?",y
&&,y
&&。上面的次数完了之后就回到13执行。15返回上一层程序
procedure
factz
&&,执行其中的跟踪,使y=x*y
endif
&&?"请输入n,看看下一步是哪里;
**
也即是每次运行到10-11-12就返回101执行了几次那么就返回到10几次。14显示n,一步步执行.8
判断。10赋值,n:",y=y(从这里开始**1
&&。
其实n,存放到n中
do
factz
with
n。5执行程序factz.1关闭系统对话
clear
&&,具体次数由你输入的值决定,factz
parameters
x
假设被传递的参数为数值N,子程序:PROCEDURE SUB PARA N1
S=STR(N1+1)
RETURN S
先前写的以下是调用函数的程序,我不知道你说的"读程序的时候怎么写"是什么意思,什么读程序的时候怎么写啊?写什么?以下就是读程序的一个方式。若要读过程,也就是通常不带返回值的也不含接受参数的程序段,比如程序段放在一个程序文件A.PRG里,而这个A.PRG里有很多程序段(即以PROCEDURE/ENDPROC的程序段),你可以在表单控件事件里读他们:DO 程序名(别加.PRG) IN A.PRG。如果你只有一个程序段,而且没有PROCEDURE/ENDPROC,仅仅是个.PRG文件如A.PRG,那你就写DO A.PRG就行了。
ENDPROC
调用的时候比如:
SET PROCEDURE TO GROUPPRG.PRG
THISFORM.TEXT1.VALUE=SUB(N) &&N为你写的数值
SET PROCEDURE TO
以上是函数。
若你创建的是过程,则:
DO SUB IN GROUPPRG.PRG &&GROUPPRG.PRG是你把过程,函数等都写在里面的一个程序集合
在vfp中调用某方法,应该这样写:do sdl11 in abc
而abc.prg中是存储过程的,如:
proce sdl11
*租赁单价的新建
*do sdl25
use .\dbf\kcwzcbj
copy struct to .\dbf\temp
use
use .\dbf\zydwmc
delete all for zldm=space(3)
pack
use
return
proce sdl12
*租赁单价的添加
*租赁单价的添加,原有的租赁单位已经存在租赁价格库,
*但是中途中,又要租赁新添加的品种,就必须运行本程序
use .\dbf\kcwzcbj
copy struct to .\dbf\temp
use
return
proce sdl13
*租赁单价的修改
use .\dbf\kcwzcbj
copy struct to .\dbf\temp
use
return
如果我们在调用某方法或函数,要传递参数,在调用某方法中,应该这样写:
do rzjjg in abc with ‘P30120',100
而 abc.prg中应该有,rzjjg,并且它的第一个语句必须为
para 参数1,参数2,。。。
『参数的个数与调用必须一一对应』
func rzjjg &&计算日租金价格
para x3,x2 &&x3:回送材料代码,X2:回送材料数量
select 3
seek x3
x4=iif(found(),rzj*x2*djmj,0) &&X4:日租金,djmj:单件面积(租金)
select 4
replace rzj with x4
return .T.
func cbjjs &&计算丢失价格
para x1,x2
select 3
seek x1
x4=iif(found(),cbj*x2,0)
select 4
return x4
以上的均为本人商业软件《建筑机具租赁管理系统-VFP版》的一个很小很小部分。
参考资料:本人商业软件《建筑机具租赁管理系统-VFP版》
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)