一个简单的VFP问题

sunnyes2008 2008-12-13 12:37:26
我的代码是这样的:
*核对用户信息,只有合法的用户才能够使用该系统
IF(N>2)
*输入超过三次,系统拒绝进入系统
MESSAGEBOX("密码输入超过三次,不能使用本系统!")
THISFORM.RELEASE
ELSE
*打开用户信息库,把输入的信息进行核对
USE 用户.DBF
*收集用户的输入信息
TEMP1=ALLTRIM(THISFORM.TEXT1.VALUE)
TEMP2=ALLTRIM(THISFORM.TEXT2.VALUE)
LOCATE FOR ALLTRIM(NAME)==TEMP1.AND.ALLTRIM(PASSWORD)==TEMP2
*如果是合法用户,允许进入系统,否则提示用户从新输入
IF FOUND()
THISFORM.RELEASE
*进行系统
DO FORM 主界面
ELSE
*提示用户从新输入
MESSAGEBOX("密码或用户名输入错误,重新输入!")
THISFORM.TEXT1.VALUE=""
THISFORM.TEXT2.VALUE=""
N=N+1
THISFORM.TEXT1.SETFOCUS
ENDIF
ENDIF


我运行时出现找不到变量‘n' 为什么,怎么解决?
...全文
68 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunnyes2008 的回复:]
先谢谢你,我们没学过VFP但学了C/C++,所以我不知道这么去定义,所以就加了N=0 问题就解决了,哈哈。。。。。
[/Quote]

你的N=0放到什么事件中了。

如果是这段开头,那永远不会出现
MESSAGEBOX("密码输入超过三次,不能使用本系统!")


建议用个全局变量变量,并这个变量名不要用N这样的命名,改为如:gnVerifyNum

在表单的Load事件加代码:
Public gnVerifyNum
gnVerifyNum=0

在表单的Unload事件加代码:
Release gnVerifyNum

然后将你上面的N改为gnVerifyNum
gxglsshui 2008-12-13
  • 打赏
  • 举报
回复
ding
lc_apple 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunnyes2008 的回复:]
先谢谢你,我们没学过VFP但学了C/C++,所以我不知道这么去定义,所以就加了N=0 问题就解决了,哈哈。。。。。
[/Quote]
这就是VFP的方便之处!
变量不用定义就可以使用,因为在你第一次赋值的时候会自动定义成局部变量,
不过,如果你在局部需要的是全局变量,就得用“PUBLIC 变量名”的形式来定义。
我个人认为,还是先定义变量再去使用好点,不容易出问题,就算出了问题好检查!
sunnyes2008 2008-12-13
  • 打赏
  • 举报
回复
先谢谢你,我们没学过VFP但学了C/C++,所以我不知道这么去定义,所以就加了N=0 问题就解决了,哈哈。。。。。
dragonbird 2008-12-13
  • 打赏
  • 举报
回复
N定义为表单变量/全局, 在表单初始化是,设为0。

2,745

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧