求助登录表单设计源码

cn960 2011-06-15 10:10:21
大家好,如今我正在看《Visual FoxPro6.0数据库程序设计与实例》,里面提供了各行业共8种管理系统设计方案及源码,我看了,有些收获,很想提取其中的有关带有密码验证和权限功能的登录表单用用,但必须一个字一个字的打下来,特求助大家,有没有类似的现成的相关的表单或prg程序源码,发上来共享一下,以省打字之苦。
...全文
300 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liveforsingingggg 2011-06-24
  • 打赏
  • 举报
回复
发个帖。以省打字之苦。
無法替代 2011-06-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xilaianzxsc 的回复:]
1楼提供的是一个思路,并不是每个编程的人员都要采用此编码
[/Quote]

有思路还不行?
dfwxj 2011-06-23
  • 打赏
  • 举报
回复
Set Exac On
This.passn=1
csql='driver=sql server;server='+Allt(sysinfo.sername)+';uid=jq;pwd=87030300;database=lsyd'
lnhandle=Sqlstringconnect(csql)
If lnhandle>0
SQLExec(lnhandle,"select * from ls_log where clientid=?sysinfo.clientid ","tlog")
If sysinfo.clientid#tlog.clientid OR lflag
Messagebox('站点冲突!请与管理员联系...',64,'信息')
SQLDisconnect(lnhandle)
lnhandle=0
Thisform.command2.Click
retu
ENDIF

SQLExec(lnhandle,"select * from ls_oper","operate")
Thisform.combo2.RowSource='operate.oper'
Thisform.combo2.SetFocus
Else
Thisform.command2.Click
Endi
*******************************
If Empt(This.Parent.combo2.DisplayValue)
Messagebox('请选择操作员...',64,'信息')
This.Parent.combo2.SetFocus
Retu
Endi



If Allt(This.Parent.text2.Value)==cpw(.F.,operate.pw) And Upper(Allt(This.Parent.text2.Value))#'ERROR'
SQLExec(lnhandle,"update ls_log set lflag=1 where clientid=?sysinfo.clientid")
Repl opid With operate.opid,oper With operate.oper In sysinfo

SQLExec(lnhandle,"select * from ls_oprole where opid=?sysinfo.opid","tope")
Select tope
qx=.F.
Scan
qx(rolecode)=.T.
Endscan
Use In tope

If This.Parent.CHECK1.Value &&修改口令
Do Form modipass
Else
If Empty(This.Parent.TEXT2.Value)
=Messagebox('为了数据安全,请设置操作口令!',64,'信息')
Endi
Endi

Thisform.Release

Else
If Thisform.passn>2
=Messagebox ('口令三次输入错误,'+Chr(13)+'不能登录系统!',16,'信息')
lnhandle=0
Thisform.Release
Else
Thisform.passn=Thisform.passn+1
=Messagebox ('口令错误,'+Chr(13)+'请重新输入!',16,'信息')
This.Parent.text2.SetFocus
Endi
Endi

************************

这些代码给你几乎是没有用的,除非谁专门帮你写一下代码
cn960 2011-06-23
  • 打赏
  • 举报
回复
实际以上方法,我都不大适应,我做的系统是菜单方式,而不是主表单方式。也就是“登录表单”验证后,运行的是: do 主菜单.mpr,而不是do form 主表单.scx。
xuzuning 2011-06-23
  • 打赏
  • 举报
回复
连打几个字都嫌麻烦,那就不要学编程了。换点其他的事做做
十月鹰飞 2011-06-23
  • 打赏
  • 举报
回复
学习主要是为了其思路,不是为了其编码,有了思路,代码自然就有了。
xilaianzxsc 2011-06-19
  • 打赏
  • 举报
回复
1楼提供的是一个思路,并不是每个编程的人员都要采用此编码
zjm_dct 2011-06-18
  • 打赏
  • 举报
回复
书上跟你说得那么明白.还求什么源码,按说明做就行了.
cn960 2011-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 apple_8180 的回复:]

你不是说共有8种设计方案及源码吗?有源码……
[/Quote]
此书是我从图书馆借的,没有附带光盘,书上有源码及建立方法的,但都较长,有些烦锁,所以求助简单易用点的现成的,以便于调试引用。我昨天在网上搜了个现成的,也不错,若其它网友还有,欢迎放上来,共享: 制作步骤如下:
一、新建表单,将表单的caption属性值设置为“系统登录”,ShowWindow属性值设置为“2-作为顶层表单”,width属性值设置为295,height属性值设置为100,AutoCenter属性值设置为,并将表单保存为“系统登录.scx”。
二、继续设置该表单的属性:将表单的MaxButton及MinButton属性值均设置为.f.,这样就屏蔽掉了表单的最大化和最小化按钮,成为只有一个关闭按钮的对话框。
三、向表单添加两个label控件,将它们的caption属性值分别设置为“用户名”和“密 码”。
四、向表单添加两个文本框控件,并将其中的Text2的PasswordChar属性值设置为“*”。
五、向表单添加两个命令按钮command1和command2,将它们的caption属性值分别设置为“确定”和“退出”。
六、适当调整各控件在表单上的位置及大小,调整后的表单设计器如下图:

七、右击表单空白处,选“数据环境”命令,将“管理”表添加到表单的数据环境中。
八、添加事件代码:
(一)表单的init事件代码:
public cn &&声明全局变量,用于计算登录次数
cn=0
(二) 表单的unload事件:
close all
clear events
quit
(三)接收用户名的文本框Text1的KeyPress事件代码:
LPARAMETERS nKeyCode, nShiftAltCtrl
if nKeyCode=13.and.!empty(this.value) &&输入用户名后按回车即进入输密码
thisform.Text2.enabled=.t.
thisform.Text2.setfocus
endif
(四)“确定”按钮command1的click事件代码:
cname=alltrim(thisform.text1.value)
ppassword=alltrim(thisform.text2.value)
cn=cn+1
if cn=3
thisform.release
endif
set exact on
go top
locate for name=cname.and.pass=ppassword
if eof()
messagebox('用户名或密码错误,请重新输入!','系统提示')
return
else
thisform.visible=.f.
do form 主表单 &&调入主界面表单
endif
set exact off &&设置字符非精确比较
(五)“退出”按钮command2的click事件代码:thisform.release
九、运行“系统登录.scx”即可,在看实例学VFP:示例数据库一文中已经给出了“管理.dbf”的结构,其中预置的两个操作员的用户名及密码分别是:
用户名密码
张三12345678
李四aaaaaaaa
十豆三 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 cn960 的回复:]
大家好,如今我正在看《Visual FoxPro6.0数据库程序设计与实例》,里面提供了各行业共8种管理系统设计方案及源码,我看了,有些收获,很想提取其中的有关带有密码验证和权限功能的登录表单用用,但必须一个字一个字的打下来,特求助大家,有没有类似的现成的相关的表单或prg程序源码,发上来共享一下,以省打字之苦。
[/Quote]

你不是说共有8种设计方案及源码吗?有源码为何还要大家提供参考。
-晴天 2011-06-15
  • 打赏
  • 举报
回复
表单数据环境中有一个表,表名"口令",有操作员和口令两个字段.
表单有一个自定义属性dlcs,初始值为0
表单上两个文本框和两个按钮,下面是确定按钮的程序
if empty(alltrim(thisform.text1.value))
messagebox("操作员不可为空!",54)
thisform.dlcs=thisform.dlcs+1
thisform.text1.setfocus
return
endif
select 口令
locate for 操作员=alltrim(thisform.text1.value) and 口令=alltrim(thisform.text2.value)
if !eof()
thisform.release
do form 主表单.scx
else
if thisform.dlcs<2
messagebox("你输入了错误的操作员名或密码,请重新输入!",54)
thisform.dlcs=thisform.dlcs+1
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
else
messagebox("你不是本系统的合法用户,再见!",54)
thisform.release
clear events
endif
endif

2,749

社区成员

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

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