| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1156 人关注过本帖
标题:表单缺少操作数,一小段代码的问题
只看楼主 加入收藏
讨厌字符
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
表单缺少操作数,一小段代码的问题
正在做期末作业的表单集

表单 修改密码
TEXT1 填 输入的新密码
TEXT2 填 确认所输入的密码

COMMAND1 是确认
代码全文:If thisform.text2.value!="" .and.thisform.text1.value=thisform.text2.value
  passw=upper(alltrim(thisform.text2.value))
  messagebox("密码修改成功!",0+64+0,"设置密码")
  use passw.dbf
  append blank
  replace password with passw
  replace changedate with date()
  use
  thisformset.release
else
   messagebox("密码有错,请重新输入!",0+16+0,"输入密码")
   thisform.refresh
   endif

果然如 啸凡 所说的,前两行代码应该是一行的。我修改后就没出现表单缺少操作数了。
新的问题就是运行的时候,它说 找不到 变量 passw 。


[ 本帖最后由 讨厌字符 于 2010-6-22 08:16 编辑 ]
搜索更多相关主题的帖子: 表单 代码 
2010-06-21 20:15
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:4 
上面的代码并不缺少操作数啊。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2010-06-21 20:18
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:4 
但这段代码问题很多:
一、If thisform.text2.value!="" .and.thisform.text1.value=thisform.text2.value 应该是整体一句,如果您在COMMAND1的Click事件中是分两行,且未用分号连接,就会出问题。
二、变量名称passw与保存密码的表passw.dbf同名,很容易引起混乱
三、use passw.dbf只是打开了表,并未把新密码存入表中
四、If 应该与Endif相匹配使用。

两人行已有我师……
2010-06-21 22:21
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
楼主的代码肯定不止这几句,出错的代码也许没有贴出来。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2010-06-22 07:44
讨厌字符
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-21
收藏
得分:0 
谢谢回帖的几位~
啸凡提出来的几点我只会改第一个。第二个第三个自己不知道怎么解决。第四个应该是代码没有贴完。我刚刚编辑帖子把它补充完了。
2010-06-22 08:18
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:4 
If thisform.text2.value!="" .and.thisform.text1.value=thisform.text2.value
  passwz=upper(alltrim(thisform.text2.value))
  use passw.dbf
  zap          &&防止用户多次修改就会保存多个密码。如果是多用户,就不能用zap。
  append blank
  replace password with passwz
  replace changedate with date()
  messagebox("密码修改成功!",0+64+0,"设置密码")
  use
  thisformset.release
else
   messagebox("密码有错,请重新输入!",0+16+0,"输入密码")
   thisform.refresh
endif


[ 本帖最后由 qjbzjp 于 2010-6-22 09:11 编辑 ]

相互学习,互相交流,共同提高。
2010-06-22 09:09
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:4 
command1.click 稍加改动,你看可以吗?(不用表单集)
  mm1=alltrim(thisform.text1.value)
  mm2=alltrim(thisform.text2.value)
 if mm1==mm2 and len(mm1)>0 and len(mm2)>0
  use passw excl
  zap
  append blank
  replace password with mm2,changedate with date()
  messagebox("密码修改成功!",0+64+0,"设置密码")
else
   messagebox("密码有错,请重新输入!",0+16+0,"输入密码")
   thisform.text1.setfocus
   return
endif
thisform.release
clear event


[ 本帖最后由 qingfameng 于 2010-6-22 12:25 编辑 ]
2010-06-22 12:19
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:4 
(1)我觉得应该有输入账号、旧密码的功能,分别放入文本框text3和text4
(2)在表单的Init事件中打开表,并做一些设置
close all
if file('passw.dbf')
  use passw.dbf
else
  create table passw (id c(12),password c(12),changedate d)  &&不一定是这些字段名和宽度
endif
thisform.text1.value=''
thisform.text2.value=''
thisform.text3.value=''
thisform.text4.value=''
thisform.text1.inputmask=replicate('x',len(passw.password))
thisform.text2.inputmask=replicate('x',len(passw.password))
thisform.text3.inputmask=replicate('x',len(passw.id))
thisform.text4.inputmask=replicate('x',len(passw.password))
(3)确定命令按钮的click事件代码
locate all for id=thisform.text3.value and password=thisform.text4.value
if eof()
  messagebox('需要修改密码的账号不存在')
else
  if empty(thisform.text1.value)
    messagebox('请输入密码')
  else
    if thisform.text1.value==thisform.text2.value
      replace password with thisform.text1.value,changedate with date()
      messagebox("密码修改成功!",0+64+0,"设置密码")
    else
      messagebox("密码有错,请重新输入!",0+16+0,"输入密码")
    endif
  endif
endif
(4)退出命令按钮的click事件代码
thisform.release

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-06-22 20:18
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
在我的习惯上,如果只有一个密码(也就是只有一个用户),那么就不用表来保存,而用一个内存变量文件(.MEM文件)就可以了。当然了,条条大路通VFP,各施各法,只要能达到目的就好。

两人行已有我师……
2010-06-22 22:20
快速回复:表单缺少操作数,一小段代码的问题
数据加载中...
 
   



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

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