2017-04-15 204 views
1

目前在從文件中讀取數據並將其分配給表單上的文本框時出現問題。代碼運行時沒有拋出錯誤,但沒有數據/值傳遞給文本框,並且它們保持空白。下面是我的代碼:閱讀文件時遇到的問題

Imports System.IO 
Public Class ReadingEmployeeData 
    ' Declare filename 
    Dim FileName As String 
    Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Click 
     ' Constant for holding the number of fields 
     Const NumFields As Integer = 8 

     ' Declare variables 
     Dim FileStream As StreamReader 
     Dim Count As Integer 


     Try 
      ' Open file 
      FileStream = File.OpenText(FileName) 

      ' Read the data 
      For Count = 1 To NumFields 
       FirstText.Text = FileStream.ReadLine() 
       MiddleText.Text = FileStream.ReadLine() 
       LastText.Text = FileStream.ReadLine() 
       NumberText.Text = FileStream.ReadLine() 
       DepartmentText.Text = FileStream.ReadLine() 
       PhoneText.Text = FileStream.ReadLine() 
       ExtText.Text = FileStream.ReadLine() 
       EmailText.Text = FileStream.ReadLine() 

      Next Count 

     Catch ex As Exception 
      MessageBox.Show("That file can not be opened.") 
     Finally 
      FileStream.Close() 
     End Try 
    End Sub 

    Private Sub ReadingEmployeeData_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     ' Get the filename from user 
     FileName = InputBox("Please enter the name of the file") 
    End Sub 

    Private Sub ExitButton_Click(sender As Object, e As EventArgs) Handles ExitButton.Click 
     Me.Close() 
    End Sub 
End Class 
+0

顯示簡單的文本文件中的數據? – Hadi

+0

嘗試只使用'Dim FileStream As StreamReader(FileName)'並移除該'FileStream = File.OpenText(FileName)'**更新**更好地查看您的代碼,您嘗試從文本文件中讀取64「行」? – nelek

+0

這是一個調試問題。如果有10名員工,則只顯示最後一名員工。我懷疑基於按鈕名稱,你想每次跳過一些行。 **很多**更好地閱讀整個文件('File.ReadAllLines()')並從那裏更新UI, – Plutonix

回答

0

使用Io.StreamReader,而且也沒有必要NumFields嘗試:

Imports System.IO 
Public Class ReadingEmployeeData 
    ' Declare filename 
    Dim FileName As String 
    Private Sub NextButton_Click(sender As Object, e As EventArgs) Handles NextButton.Click 


     ' Declare variables 
     Dim FileStream As StreamReader 
     Dim Count As Integer 


     Try 
      ' Open file 
      Using sr As New Io.StreamReader(FileName) 

      ' Read the data 

       FirstText.Text = sr.ReadLine() 
       MiddleText.Text = sr.ReadLine() 
       LastText.Text = sr.ReadLine() 
       NumberText.Text = sr.ReadLine() 
       DepartmentText.Text = sr.ReadLine() 
       PhoneText.Text = sr.ReadLine() 
       ExtText.Text = sr.ReadLine() 
       EmailText.Text = sr.ReadLine() 

       sr.Close() 

      End Using 

     Catch ex As Exception 

      MessageBox.Show("That file can not be opened.") 

     End Try 
    End Sub 

    Private Sub ReadingEmployeeData_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     ' Get the filename from user 
     FileName = InputBox("Please enter the name of the file") 
    End Sub 

    Private Sub ExitButton_Click(sender As Object, e As EventArgs) Handles ExitButton.Click 
     Me.Close() 
    End Sub 
End Class