以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  设置默认账户和记住密码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78794)

--  作者:sf020cf
--  发布时间:2015/12/17 11:58:00
--  设置默认账户和记住密码

图中有两个复选框 希望做到在账户文本框输入账号后勾选设置默认 能把当前文本框内的账户设置成为默认账户 下次登录不需要再输入 接着到密码   输入密码后勾选记住密码 下次登录不需要再输入密码 直接点击登录即可

 


图片点击可在新窗口打开查看此主题相关图片如下:2015-12-17_115541.jpg
图片点击可在新窗口打开查看

论坛说用saveconfigvalue和getconfigvalue 没弄明白 只能求助了 以前的登录代码:


Dim dr As DataRow
Dim Ok As Boolean
Dim zhanghao As String = e.Form.Controls("账号").Value
Dim mima As String = e.Form.Controls("密码").Value
If zhanghao = Nothing Then
    MessageBox.Show("请输入您的登录账号!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
ElseIf mima = Nothing Then
    MessageBox.Show("请输入您的登录密码!", "错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else
    DataTables("账户管理").LoadFilter= "[用户账号] = \'" & zhanghao & "\'"
    DataTables("账户管理").Load
    dr = DataTables("账户管理").Find("[用户账号] = \'" & zhanghao & "\'")
    If dr Is Nothing Then
        Messagebox.show("登陆账号和密码不一致!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
    ElseIf dr("用户密码") <> MD5Encrypt(mima) Then
        Messagebox.show("登陆账号和密码不一致!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
    ElseIf dr("用户状态") = True Then
        Messagebox.show("该账号上次未安全退出,若要重新登录,先按退出键.再重新登录!","异常提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
    ElseIf dr("账号状态") = False Then
        Messagebox.show("该账号已经被锁定,禁止登录!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.Cancel = True
    Else
        dr("用户状态") = True
        DataTables.Save()
        e.Form.BaseForm.Hide()
        e.Form.close
        Forms("主界面").Open()
    End If
End If


--  作者:大红袍
--  发布时间:2015/12/17 12:01:00
--  

afterLoad事件

 

e.Form.Controls("密码").Value = getconfigvalue("密码", "")

 

登陆按钮

 

saveconfigvalue("密码",e.Form.Controls("密码").Value)

 


--  作者:sf020cf
--  发布时间:2015/12/17 13:40:00
--  

呃 有张账号管理表 我是想这样 输入账号后 假如勾选了设置默认 那么刚输入的账号在以后没更改的时候都会是这个账号 就像文本框的默认值(只是可以动态更改) 这是第一步

第二步 假如输入了账号相对应的密码 如果使用者不想每次都重复输入 可以勾选记住密码  假如勾选了 那么账号管理表的记住密码也跟着勾选 那么下一次登录 因为设置了默认账户 所以文本框内已经有了账号 接着去 账户管理表找到这个账号 假如勾选了记住密码 则返回密码 否则返回空值

Dim UserName As String = e.Form.Controls("账号").Value
Dim chk As WinForm.CheckBox = e.Form.Controls("CheckBox1")
Dim dr As DataRow
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = DataTables("账户管理").Find("[用户账号] = \'" & UserName & "\'")
If chk.checked = True Then
    dr("记住密码") = True


Else
    dr("记住密码") = False
End If

类似于这样 但是默认设置那个动态法怎么弄



--  作者:lihe60
--  发布时间:2015/12/17 14:18:00
--  

我是这么干的:建立一张表,把录入的密码保存在这张表,如果记住密码,就读取表的密码表控件。


--  作者:sf020cf
--  发布时间:2015/12/17 15:45:00
--  

表有键 就是那个默认设置在哪弄

 


--  作者:大红袍
--  发布时间:2015/12/17 16:51:00
--  

afterLoad事件

 

Dim UserName As String = e.Form.Controls("账号").Value

e.Form.Controls("密码").Value = getconfigvalue(UserName , "")

 

登陆按钮

 

Dim UserName As String = e.Form.Controls("账号").Value

saveconfigvalue(UserName, e.Form.Controls("密码").Value)


--  作者:sf020cf
--  发布时间:2015/12/18 15:51:00
--  
.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.11.11.1
错误所在事件:窗口,登录验证,AfterLoad
详细错误信息:
String 引用没有设置为 String 的实例。
参数名: s

--  作者:大红袍
--  发布时间:2015/12/18 16:11:00
--  
关闭项目重新打开,再写代码