2016-12-20 489 views
2

我有這段代碼讀取讀取文件的行(16file),然後在文本框(tWLine)中顯示每行,每次一行但下面的代碼一次顯示了該文件的所有內容。不過,我希望它在讀取文件的一行後顯示在文本框(tWline)中,然後單擊一個按鈕,然後再讀取下一行,並再次顯示在文本框中,直到16file中的最後一行。vb.net逐行讀取文件並複製行的一部分

第二部分將根據行中的單詞數量(第1個單詞到txt1,第2個到第2個到txt2等)將行讀取的單詞複製到文本框中,但我將非常感謝至少要獨自完成第一部分。

`Dim fRdr As StreamReader 

    fRdr = File.OpenText("C:\users\sk\16file.txt") 

    'Loop through to read Lines 
    Do Until fRdr.EndOfStream 
     tWLine.Text = tWLine.Text & fRdr.ReadLine & vbCrLf 
    Loop 
    fRdr.Close()` 

我想文本框內容出現像下面的代碼示出了在一次一行的消息,使得每行中tWline文本框中顯示後,某種形式的代碼將被下一行之前執行被讀取,然後在下一行完成同樣的事情直到達到文件的最後一行。

`Private Sub bReadFA_Click(sender As Object, e As EventArgs) Handles bReadFA.Click 
    For Each Line As String In File.ReadLines("C:\users\sk\16file.txt") 
     MsgBox(line) 
    Next 
End Sub ` 

回答

1

您的意思是在文本框中傳輸文件的每一行?試試這個

變化Msgbox(line)YourTextbox.Text = line

試試這個

Private Sub bReadFA_Click(sender As Object, e As EventArgs) Handles bReadFA.Click 
For Each Line As String In File.ReadLines("C:\users\sk\16file.txt") 
YourTextbox.Text = line 
await Task.Delay(1000)//Await a second 
Next 
+0

那個只顯示文本框中文件的最後一行。無論如何,謝謝你的幫助。 – MordC

+0

你找出答案了嗎? –

+0

不是。同樣的故事。 – MordC

2

如果影魔的回答不適合你,那麼你可能沒有在文本文件中多行工作。如果你是通過說行來表達句子,那麼你最好將文件中的所有文本都複製到一個String變量中,並用'。'分隔它。獲取字符串數組。然後簡單地做任何你想要的數組。

+0

非常真實,@aaditua dengle。該文件有多行,並按預期工作。 – MordC

+0

他是真的,至少你可以把這個答案作爲一個指導,如果文本文件中的文本沒有'newline',你可以將它們拆分** **。** –

+0

@aadita dengle你能幫我解決這個問題嗎?想要根據單詞在句子(行)中的位置將一行中的單詞複製到文本框中。這是句子中的第一個單詞轉到textbox1,第二個單詞轉到textbox2,直到句子中的第10個單詞。 – MordC