Re: [VB6 ] 陣列索引超出範圍

看板Visual_Basic作者時間11年前 (2013/06/05 04:16), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《kcsc (kc)》之銘言: : 大家好 : 小弟因為某些原因需要把程式碼改成VB6的語言 : 而本身對VB6非常不熟悉 : 我在建立矩陣的過程中 出現"陣列索引著個錯誤訊息" : input 為csv格式 1 , 2 , 3 , 4 , 5 : 2 , 3 , 4 , 5 , 6 : 3 , . , . , . , . : . , . , . , . , . : . , . , . , . , . : 而矩陣大小我已經設定為 (800,3) : 以下是我的程式碼 : Private Sub Form_Load() : Dim fn As String : Dim ffn As String : Dim fnum As Integer : Dim numr As Long : Dim R As Long : Dim C As Long : Dim CC As Long : Dim RR As Long : Dim lines As Variant : Dim one_line As Variant : Dim tarray(800, 0) As String : Dim aarray(800, 3) As String 求求你,RR CC AA BB 這種超爛的變數命名法先改一下,看的很痛苦 : fn = App.Path : fn = fn & "\" : fn = fn & "test.csv" : 'Load the file' : fnum = FreeFile : Open fn For Binary As #fnum : ffn = Input$(LOF(fnum), #fnum) : Close fnu : lines = Split(ffn, vbCrLf) 你TEST.CSV的斷行字元,可能不是VBCRLF debug.print asc(right(ffn,1)) 看一下吧 : one_line = Split(lines(0), ",") <<<<<陣列索引超出範圍 if instr(lines(0), ",") > 0 then one_line = Split(lines(0), ",") end if 這樣就不會陣列索引超出範圍 : 不知道哪邊出了問題 希望有高手可以幫我看看 : 另外 如果我要確認是否有檔案存到陣列裡 : 是要 開一個txt再將陣列存入嗎? : Open "d:\999.txt" For Append As #2 : Write #2, f : Close #2 看不懂問題,有人要翻譯一下嗎? -- ████ █ ★ ████ █ █ █ █ █ █ █ █ █ 超 級 熱 烈 歡 迎 █ ████ █ █ █ ████ █ █ █ █ █ ███★ █ █ 歡迎到嘉義版! ★███ █ █ █ █ █ █ █ 訊馳電腦-路徑嘉義市林森西路496號(05)2244-526順發斜對面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.36.184

06/05 11:12, , 1F
謝謝C大 VB陣列的方式 真的跟Matlab差太多了
06/05 11:12, 1F

06/05 11:13, , 2F
我想我應該好好的研究一下vb要怎麼讀檔和存矩陣~"~
06/05 11:13, 2F

06/05 11:18, , 3F
如果我只是單純要將input存成矩陣 那要跳下一行還是要vbelf嗎
06/05 11:18, 3F

06/05 21:12, , 4F
用PRINT #1,一次就是一行了
06/05 21:12, 4F
文章代碼(AID): #1HhaiY6Y (Visual_Basic)
文章代碼(AID): #1HhaiY6Y (Visual_Basic)