我编写一个登陆验证的程序
 代码如下:验证的
Public Function login(ByVal struser As String, ByVal strpwd As String) As Boolean
If struser = "admin" And strpwd = "123" Then
login = True
Else
login = FalseEnd Function
登陆的确认按钮
Private Sub Command1_Click()
MsgBox "操作员名称:" & Text1.Text & vbCrLf & "操作员令:" & Text2.Text, vbInformation + vbOKOnly, "登陆信息"
End Sub
还有调用的login函数(*****这个应该放在submain里面吧,还是放在别处?)
If login(Trim(Text1.Text), Trim(Text2.Text)) = ture Then   Unload Me   frmempadd.Show
    
   Else
   Unload Me
     
    End
    
    End If
End Sub
弄完以后总是好象不验证的样子,也掉不出frmempadd窗口那里错了??

解决方案 »

  1.   

    If  struser  =  "admin"  And  strpwd  =  "123"  Then 是不是这里:调用的text1.text 和text2.text得值没有调用呀,应该怎么赋亚
      

  2.   

    你的程序是当用户为admin,密码为123通过,其他失败
      

  3.   

    你看!你的login(Trim(Text1.Text), Trim(Text2.Text)) = ture 写错了,应该是true,当然永远都,也掉不出frmempadd窗口了!找我这个下面的写就可以了Public Function login(ByVal struser As String, ByVal strpwd As String) As Boolean
        If struser = "admin" And strpwd = "123" Then
            login = True
        Else
            login = False
        End If
    End FunctionPrivate Sub Command1_Click()
    MsgBox "操作员名称:" & Text1.Text & vbCrLf & "操作员令:" & Text2.Text, vbInformation + vbOKOnly, "登陆信息"
    If login(Trim(Text1.Text), Trim(Text2.Text)) = True Then
       Unload Me
       frmempadd.Show
    Else
         Unload Me
         End
    End If
    End Sub
      

  4.   

    Public Function login(ByVal struser As String, ByVal strpwd As String) As Boolean
    If lcase(struser) = "admin" And lcase(strpwd )= "123" Then'加个lcase函数转为小写
    login = True
    Else
    login = FalseEnd Function
      

  5.   

    如果是楼上的原因加入:Option Compare
      

  6.   

    是呀是呀,现在主要是不清楚If  struser  =  "admin"  And  strpwd  =  "123"  Then 是不是这里:调用的text1.text 和text2.text得值没有调用呀,应该怎么赋亚
    还有,用admin和密码123还是没有反应,大小写一样,可能就是没有调用值吧???怎么改呢?
      

  7.   

    问题还是没有解决,郁闷大家努力呀。
    调用的text1.text  和text2.text得值没有调用呀
    struser 和 strpwd 得值分别对应text1.text和text2.text里面的值,怎么掉才对??
    麻烦写一下,调试好了能用了在告诉我呀。。
    加油!!!!!
      

  8.   

    问题还是没有解决,郁闷大家努力呀。
    调用的text1.text  和text2.text得值没有调用呀
    struser 和 strpwd 得值分别对应text1.text和text2.text里面的值,怎么掉才对??
    麻烦写一下,调试好了能用了在告诉我呀。。
    加油!!!!!
      

  9.   

    错了错了,都错了你在函数里面已经把用户名称和密码都定死了,那还要传参数做什么?
    Public Function login(ByVal struser As String, ByVal strpwd As String) As Boolean
    If struser = "admin" And strpwd = "123" Then
    login = True
    Else
    login = FalseEnd Function
    登陆的确认按钮
    Private Sub Command1_Click()
    MsgBox "操作员名称:" & Text1.Text & vbCrLf & "操作员令:" & Text2.Text, vbInformation + vbOKOnly, "登陆信息"
    ’End Sub     在这里结束过程是什么意思???????????
    还有调用的login函数(*****这个应该放在submain里面吧,还是放在别处?)
    If login(Trim(Text1.Text), Trim(Text2.Text)) = true then    '你不是连TRUE都写错吧ture Then   Unload Me   frmempadd.Show
        
       Else
       Unload Me
         
        End
        
        End If
    End Sub
      

  10.   

    做了一遍,creazyfish(梳分头的鱼) 的程正确,可以实现.
      

  11.   

    1.樓主跟偶一樣都屬於菜鳥級人物,要共同糞豆.2.調用該函數其實真沒啥效果,直接對text的值進行判斷即可.(簡單,呵呵..)
      

  12.   

    鱼: 去下面的连接帮看看
    http://community.csdn.net/Expert/topic/3588/3588325.xml?temp=7.030666E-03
      

  13.   

    超级乱的代码,真不知是从VB工程中贴出来的,还是在帖子里手写的,这在编辑器里都不可能通过呀。
    初学者不用 Option Explicit,常带来这种典型结果。
    一个"ture",VB不认识,自动声明成了变量,代码很少,眼利的人能帮你找出,要是长点,你就不用再学VB了,可以做除Bug专业选手了。不强制声明变量,后患无穷!!!