0

私はこのモジュールを作成しました。学生と教師の構造の学生と教師が文字列として配置されていることを知っています (これらはラジオ ボタンとして保存されます)が、これらをファイルに保存すると、true または false を保存することで機能します。 ID とパスワードの値。ただし、別のクラスのラジオ ボタンを読み取ることができません。

これは私のモジュールクラスです

Imports System.IO
Module user_info_mod
    Structure user
        <VBFixedString(3)> Dim name As String
        <VBFixedString(3)> Dim password As String
        <VBFixedString(7)> Dim student As String
        <VBFixedString(3)> Dim teacher As String
    End Structure
    Public newuser As user
    Public userNumber As Integer = FreeFile()
    Public userrecordNumber As Integer = 1
    Public Sub setRecordNumber()
        Dim n As Byte = 0
        FileOpen(userNumber, "D:\users.dat", OpenMode.Random, OpenAccess.Read)
        While Not EOF(userNumber)
            n = n + 1               'increments the record number of the user
            FileGet(userNumber, newuser, n)
        End While
        userrecordNumber = n
        FileClose(userNumber)
    End Sub

End Module

これは、メインファイルのラジオボタンを読み取ろうとしている場所です( newuser.student=True )

Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)         Handles cmdLogin.Click
        Dim password As String
        password = txtPassword.Text
        Dim username As String
        username = txtUsername.Text
        FileOpen(userNumber, "D:\users.dat", OpenMode.Random, OpenAccess.Read)
        FileGet(userNumber, newuser, userrecordNumber)

        If password = newuser.password And username = newuser.name And newuser.student = True Then
            MsgBox("ID Accepted")

            Dim frmNew As New Student_selection    
            frmNew.ShowDialog() 
            FileClose(userNumber)

        Else
            FileClose(userNumber)
            MsgBox("ID is not accepted")
        End If
    End Sub

モジュールで文字列をブール値に変更すると、モジュール内でレコード番号を設定するときにユーザーのファイルを保存できなくなります。この問題を解決する正しい方法は何ですか?

4

1 に答える 1

0

問題は解決されました。モジュール内のラジオ ボタンの順序を最初に変更し、次にブール値に変更する必要がありました。 Dim student As Boolean

于 2013-03-04T22:57:02.710 に答える