看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案):應用程式 小弟是vb新手 最近在研究如何用openfiledialog讀取檔案,然後儲入陣列 compile後出現一些問題,不知道怎麼解決 請版上的前輩幫忙解惑 ========================== OpenFileDialog1.Filter = "txt(*.txt)|*.txt|csv(*.csv)|*.csv|所有檔案(*.*)|*.*" '點選「開啟檔案」,並將檔案內容顯示在文字方塊中 If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then '設定目前表單Form1上方顯示的文字,為所讀取的檔案檔名 Me.Text = OpenFileDialog1.FileName '將RichTextBox1載入外部檔案(LoadFile,為所讀取的檔案檔名),並指定 文字格式為RichText RichTextBox1.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.RichText) Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName, System.Text.Encoding.Default) RichTextBox1.Text = sr.ReadToEnd '讀取檔案中的內容,並存入陣列中 '宣告一些字串變數 Dim strline As String Dim strelement(8) As String '一行一行讀到進來 Do '讀下一行 strline = sr.ReadLine() '將所讀入的字串,依照 , 來拆解到陣列上 strelement = strline.Split(",") '將將第1, 2, 3欄位拆解出 RichTextBox2.Text &= strelement(0) & vbTab & strelement(1) & vbTab & strelement(2) & vbNewLine Loop While (sr.Peek <> -1) '若讀到最尾端的資料,則sr.Peek() = -1 MessageBox.Show("欄位拆解完成", "成功新增", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) sr.Close() End If -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.98.10
MOONRAKER:What's your 問題 O_o? 08/23 01:16
Marty:經人腦Compiler後 這行:RichTextBox1.Text = sr.ReadToEnd 08/23 08:24
Marty:跟這行 Dim strelement(8) As String 邏輯上會有問題 08/23 08:25
Marty:容易產生錯誤 08/23 08:25
Marty:第一行錯誤在於有可能超過可容納上限 08/23 08:26
Marty:第二行在於Split後 length不一定符合下面要填入的個數 08/23 08:28
kirghizia:我到問題出在哪裡了,只要改變讀入richtextbox時檔案格 08/25 20:22
kirghizia:謝謝你!! :) 08/25 20:23