yhxm=alltrim(thisform.text1.value)
yhmm=alltrim(thisform.text2.value)
go top
sele 默认用户名密码
locate for 用户姓名=yhxm .and. 用户密码=yhmm
if found()=.f.
n =n+1
if n<3
messagebox('用户名或密码不对,请重新登录!',16,'系统提示')
thisform.text1.setfocus
thisform.text1.value=""
thisform.text2.value=""
thisform.refresh
else
messagebox('登录失败,3秒后自动结束程序!',16,'系统提示')
wait timeout 3
thisform.release
quit
endif
else
do form 主界面
endif
求教大神,这个代码打入后 从登入界面进去主界面的时候,原登陆界面还在,请问是哪里出问题了?
VFP 登陆界面
答案:2 悬赏:50 手机版
解决时间 2021-03-18 15:27
- 提问者网友:玫瑰园
- 2021-03-18 06:25
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-03-18 07:50
首先回答你的问题:
do form 主界面下面一行写上:Thisform.Release
另外,你这个程序有错误,即当你输入密码错误的时候哪怕是第一次,程序就会报错“找不到变量n”。
你这段程序应这么写:
假设你这个是登陆界面表单,那么在你的主程序中先定义个公共变量n,并设置初始值n=0:
public n
n=0
然后,以上的代码修正为:
yhxm=alltrim(thisform.text1.value)yhmm=alltrim(thisform.text2.value)
sele 默认用户名密码
go top locate for 用户姓名=yhxm .and. 用户密码=yhmm if found()=.f. n =n+1 if n<3 messagebox('用户名或密码不对,请重新登录!',16,'系统提示') thisform.text1.setfocus thisform.text1.value="" thisform.text2.value="" thisform.refresh else =messagebox('登录失败,3秒后自动结束程序!',16,'系统提示') wait timeout 3 thisform.release
release n
close tables all
clear
clear events quit endif else do form 主界面
thisform.release
release n endif
do form 主界面下面一行写上:Thisform.Release
另外,你这个程序有错误,即当你输入密码错误的时候哪怕是第一次,程序就会报错“找不到变量n”。
你这段程序应这么写:
假设你这个是登陆界面表单,那么在你的主程序中先定义个公共变量n,并设置初始值n=0:
public n
n=0
然后,以上的代码修正为:
yhxm=alltrim(thisform.text1.value)yhmm=alltrim(thisform.text2.value)
sele 默认用户名密码
go top locate for 用户姓名=yhxm .and. 用户密码=yhmm if found()=.f. n =n+1 if n<3 messagebox('用户名或密码不对,请重新登录!',16,'系统提示') thisform.text1.setfocus thisform.text1.value="" thisform.text2.value="" thisform.refresh else =messagebox('登录失败,3秒后自动结束程序!',16,'系统提示') wait timeout 3 thisform.release
release n
close tables all
clear
clear events quit endif else do form 主界面
thisform.release
release n endif
全部回答
- 1楼网友:从此江山别
- 2021-03-18 09:09
设你用户表名"username.dbf",其字段 用户名 c(10),单词 c(20)两字段
保证你表单上有一个文本框text1以容纳用户名字段,再在表单上加入你说的那两个按钮,再加一个表格控件grid1
在表单的初始init过程中写入
close all data
set talk off
set exac on
use username
在老用户命令按钮的点击click中写入
sele 1
name=allt(thisform.text1.value)
if len(name)=0
messagebox("请输入用户名")
retu
endif
loca all for name=allt(用户名)
if !eof()
sele 2
zf=name+[table]
use &zf alia xxxtable
thisform.grid1.recordsource=[xxxtable]
else
thisform.grid1.recordsource=[]
messagebox("没有这个用户的")
endif
在新用户命令按钮的点击click中写入
sele 1
name=allt(thisform.text1.value)
if len(name)=0
messagebox("请输入用户名")
retu
endif
loca all for name=allt(用户名)
if eof()
appe blan
repl 用户名 with name,单词 with name+[table]
zf=name+[table.dbf]
crea table &zf(单词内容 c(20))
sele 2
use &zf alia xxxtable
thisform.grid1.recordsource=[xxxtable]
else
thisform.grid1.recordsource=[]
messagebox("这个用户已经存在,请重新输入一个新用户名")
endif
如此就搞定了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯