请教VFP编程

来源:百度知道 编辑:UC知道 时间:2024/05/08 11:52:09
由于工作需要,想编一个“计算任意两个日期之间相差天数”的程序(默认条件:到期日比初始日晚)。 譬如:“输入初始日期”为20070101 “输入到期日期”为20070102,程序运行后应该得出“相差天数为1”。我编的程序运行结果总是为0,请各位帮忙修改一下啊~~ 急用哦~~

我编写的程序如下:

SET TALK OFF
ACCEPT " 输入初始日期:" TO A
ACCEPT " 输入到期日期:" TO B
N=CTOD(A)
M=CTOD(B)
X=M-N
?" 相差天数为:",X
RETURN
SET TALK ON

accept函数只能接受单字符,也就是说你输入的日期只有第一位有效,可以换成input 试试

没写对
SET CENTURY ON
SET DATE TO ymd
SET TALK OFF
ACCEPT " 输入初始日期:" TO A
ACCEPT " 输入到期日期:" TO B
a1=LEFT(a,4)+"/"+RIGHT(LEFT(a,6),2)+"/"+RIGHT(a,2)
b1=LEFT(B,4)+"/"+RIGHT(LEFT(B,6),2)+"/"+RIGHT(B,2)
N=CTOD(A1)
M=CTOD(B1)
X=M-N
?" 相差天数为:",X
RETURN
SET TALK ON

ACCEPT是接受一串字符,接受单个字符是WAIT,你的写对了