| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1402 人关注过本帖
标题:[求助]新手求助!登录问题
只看楼主 加入收藏
无心
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-3-15
收藏
得分:0 
以下是引用Tiger5392在2006-5-17 14:35:00的发言:
何必三遍,我的意思,成功就进,失败就退。程序如下:
use 用户表.dbf
locate all for 用户名=thisform.text1.value .and. 密码=thisform.text2.value .and. 身份=thisform.optiongroup1.value
if eof()
quit
else
thisform.release
do MENU.MPR &&这里进入主控程序MENU.MPR,根据需要可修改
ednif

多谢!用你的没问题了.
不过我想知道我写的那个程序到底哪儿错了,请指教下好吗?再次谢了!


因为把心给了你,所以我无心.
2006-05-17 17:12
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
以下是引用无心在2006-5-16 9:10:00的发言:
本人是VF菜鸟,自已写了一个登录的程序,但总不能实现,特来请哪位高手指教下,先谢谢了!

public sf,user_name,pwd
sf=thisform.optiongroup1.value
user_name=thisform.text1.value
pwd=thisform.text1.value
i=0
use 用户表
go top
do while .not.eof()
if 用户名=user_name .and. 密码=pwd .and. 身份=sf
thisform.release
else
i=i+1
if i>=3
=messagebox("3次输入错误!将自动关闭窗口!",48,"警告!")
thisform.release
else
thisform.text1.setfocus
=messagebox("用户名或密码或身份错误!",48,"错误!")
endif
endif
skip
enddo

实在不好意思,没有能很好地看看你的程序就给你支招。现看了你的程序,确实有些问题。
(1)在FORM1.INIT()将次数i设成全局变量
CLOSE ALL
IF FILE([用户表.DBF])
USE 用户表.DBF
ELSE
CREATE TABLE 用户表 (用户名 C(12),密码 C(12))
APPEND BLANK
REPLACE 用户名 WITH [SYSYTEM],密码 WITH [SYSTEM]
ENDIF
PUBLIC I
I=0

(2)在COMMAND1.CLICK()判断
LOCATE ALL FOR 用户名=THISFORM.TEXT1.VALUE .and. 密码=THISFORM.TEXT2.VALUE .and. 身份=THISFORM.optiongroup1.value
I=I+1
IF EOF()
IF I>3
=messagebox("3次输入错误!将自动关闭窗口!",48,"警告!")
thisform.release
QUIT
ELSE
thisform.text1.setfocus
=messagebox("用户名或密码或身份错误!",48,"错误!")
ENDIF
ELSE
THISFORM.RELEASE
DO MENU.MPR &&进入主控程序
ENDIF

(3)主要的错误,在于你每次判断所输入的用户名和密码是否正确的时候,没有用LOCATE命令,而是用IF命令。前者在整个表中找需要的信息,而后者只在当前记录进行判断。


感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-05-17 17:30
无心
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-3-15
收藏
得分:0 
楼上的,你的程序好像不对,我输入正确的用户名和密码,弹出的是错误提示框啊

因为把心给了你,所以我无心.
2006-05-17 18:07
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
收藏
得分:0 

登录可输入三次密码是不成文的规定,就像编程中要用五号宋体一样,这不样会被人笑话的


有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2006-05-17 18:23
无心
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-3-15
收藏
得分:0 
不好意思
刚才是我错了,Tiger5392 的程序没错,是我的数据库里的数据错了.

因为把心给了你,所以我无心.
2006-05-17 18:47
无心
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-3-15
收藏
得分:0 
现在我又有一个问题
我设置optiongroup来进行身分选择,但它的value是数值型的
如何得到它的VALUE值的字符值呢
例:
设置两种身份:教师(value=1);学生(value=0)
如何得到"教师"而不是得到"1"呢?

因为把心给了你,所以我无心.
2006-05-17 19:05
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
THISFORM.TEXT4.VALUE=IIF(THISFORM.OPTIONGROUP1.VALUE=1,THISFORM.OPTIONGROUP1.OPTION1.CAPTION,THISFORM.OPTIONGROUP1.OPTION2.CAPTION)

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-05-18 00:56
无心
Rank: 1
等 级:新手上路
帖 子:63
专家分:0
注 册:2005-3-15
收藏
得分:0 
问题已经解决!
万分感谢楼上的!

因为把心给了你,所以我无心.
2006-05-18 18:06
gan8615
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-6-12
收藏
得分:0 
楼主的错误在于:不管三种输入正确与否,总执行命令:thisform.release,那能不错?当提示“3次输入错误!将自动关闭窗口!”时应退出整个系统。
2006-06-12 23:20
快速回复:[求助]新手求助!登录问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049405 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved