做了小程序,注册时用数据文件记录注册信息(2项,用户名跟密码),登陆时读文件取记录跟用户的输入做判断,结果每次都失败,原因在哪?Module1: Public Type UserInfo
Nam As String * 20
Pwd As String * 20
End TypePublic Function Login(ByVal strUserNam As String, ByVal strUserPwd As String) As Boolean
Dim intFnum, intLast, i  As Integer
Dim User As UserInfo
intFnum = FreeFile
Open "apppath & xx.dat" For Random As intFnum Len = Len(User)
intLast = LOF(intFnum) / Len(User)
For i = 1 To intLast
Get #intFnum, i, User
If User.Nam = strUserNam And User.Pwd = strUserPwd Then
Login = True
Exit For '不考虑用户名重复
End If
Next i
Close #intFnum
End FunctionfrmLogin: '登陆窗口代码Private Sub cmdRegist_Click()
Me.Hide
frmRegist.Show
End SubPrivate Sub cmdLogin_Click()
If Login(Trim(txtName.Text), Trim(txtPassword.Text)) = True Then
MsgBox "登陆成功!"
Else
MsgBox "登陆失败!"
End If
End Sub

解决方案 »

  1.   


    frmRegist: '注册窗口代码
    Private Sub cmdReturn_Click()
    frmLogin.Show
    Unload Me
    End SubPrivate Sub cmdRegist_Click()
    Dim intFnum, intLast As Integer
    Dim User As UserInfo
    User.Nam = Trim(txtUserNam.Text)
    User.Pwd = Trim(txtUserPwd.Text)
    intFnum = FreeFile
    Open "apppath & xx.dat" For Random As intFnum Len = Len(User)
    intLast = LOF(intFnum) / Len(User)
    intLast = intLast + 1 
    Put #intFnum, intLast, User
    Close #intFnum
    MsgBox "注册成功!" & vbCrLf & "您的用户名为:" & User.Nam _
                        & vbCrLf & "您的密码为:" & User.Pwd
    txtUserNam.Text = ""
    txtUserPwd.Text = ""
    End Sub