标题:vfp怎样设置密码,新手求助
只看楼主
深海紫菜
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-4-21
结帖率:0
已结贴  问题点数:20 回复次数:5 
vfp怎样设置密码,新手求助
我的思路就是,先创一个表,然后表储存用户,密码。
然后表单,表单怎样设计成,读取表里的密码,然后来判断?能不能从表单里修改表里的用户和密码?
网上搜了些代码,看不懂,而且好像位置的关系,代码没办法读取。
默认文件夹d:/新建文件夹,打开的文件为do  xxxxx
帮忙随便设置登录窗口和修改密码窗口行不?
搜索更多相关主题的帖子: 修改密码 表单 新建文件夹 xxxxx 用户 
2012-04-21 23:18
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
建议楼主还是从基础学起。可以参考下面的示例,创建登录表单。
http://www.
如何从表单里修改表里的用户和密码,就看楼主的悟性了。
每个人的想法不同,设置的表单功能是不一样的。
下面的网站很适合楼主的需要。
http://www.

[ 本帖最后由 sdta 于 2012-4-21 23:32 编辑 ]

坚守VFP最后的阵地
2012-04-21 23:30
深海紫菜
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-4-21
得分:0 
回复 2楼 sdta
网上搜的,请版主看下,这个代码引用表,但没有讲出表的位置。。。。请问什么原因?这代码要怎样用的?


完整的思路:
psw.dbf应该这样设计:
user(用户名),pass(密码)

在主程序中定义一个全局变量
public username

然后登录代码这样:
use psw.dbf in 0
loca for allt(user)==allt(thisform.text1.value)
if found()
 if allt(pass)==allt(thisform.text2.value)
  use in psw
  username=allt(thisform.text1.value)
  do form telnet.scx
 else
  messagebox("对不起,您的密码错误!请重新输入!",48,"错误提示")
  thisform.text2.value=""
  thisform.text2.setfocus
 endif
else
 messagebox("对不起,没有这个用户!请重新输入!",48,"错误提示")
 thisform.text1.setfocus
endif

修改密码的代码:
use psw.dbf in 0
loca for allt(user)==allt(username)
if allt(thisform.text1.value)#allt(pass)
 messagebox("对不起,您的旧密码错误!请重新输入!",48,"错误提示")
 use in psw
 thisform.text1.setfocus
else
 if allt(thisform.text2.value)#allt(thisform.text3.value)
  messagebox("对不起,两次输入的新密码不一致!请重新输入!",48,"错误提示")
  use in psw
  thisform.text3.setfocus
 else
  newpass=allt(thisform.text2.value)
  update psw set pass=allt(newpass) where allt(user)==allt(username)
  use in psw
  do form sn.scx
 endif
endif
2012-04-21 23:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 3楼 深海紫菜
程序代码:
然后登录代码这样:

*use psw.dbf in 0
SELECT PSW
loca for allt(user)==allt(thisform.text1.value)
if found()

  if allt(pass)==allt(thisform.text2.value)
    username=allt(thisform.text1.value)
    do form telnet.scx
  else
    messagebox("对不起,您的密码错误!请重新输入!",48,"错误提示")
    thisform.text2.value=""
    thisform.text2.setfocus

  endif
else

  messagebox("对不起,没有这个用户!请重新输入!",48,"错误提示")
  thisform.text1.setfocus
endif

一般来讲数据表放置位置有两种办法:
1.设置文件夹D:\WJ\DATA,这种有条理性
2.直接放在在D:\WJ,这种没有条理性。上面的数据表就是放在该文件夹中。
表单运行前,首先将数据表添加到表单的数据环境中,避免反复用USE,发生不必要的错误。

修改密码应该单独创建一个表单,不能和登录表单放在一起。


[ 本帖最后由 sdta 于 2012-4-21 23:58 编辑 ]

坚守VFP最后的阵地
2012-04-21 23:55
深海紫菜
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-4-21
得分:0 
回复 2楼 sdta
版主,我照那个网址做个一个表单,但确定时,每次都要自己选择管理那个表,这样才能读取用户和密码,怎么回事,是不是我哪里弄错了?
2012-04-22 09:57
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
得分:10 
回复 5楼 深海紫菜
你的数据表放在什么地方了,与表单是不是在相同的文件夹下?
从你目前情况看,数据表与表单不是在相同文件夹下。如果让你所说的情况不再发生,可按SDTA版主的提示试试看。

[ 本帖最后由 bccn201203 于 2012-4-22 10:15 编辑 ]
2012-04-22 10:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-366308-1-1.html




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

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