'檔案讀入
'Private Sub Command5_Click()
Dim x1() As String, y1() As String, z1() As StringDim a1 As Double, b1 As Double, i As Integer, r As Integer, length As Integer, str As String
a1 = Val(Text4.Text)
b1 = Val(Text5.Text)
Open "C:\Users\Administrator\Desktop\坐標資料.txt" For Input As #1i = 1
Do While Not EOF(1)Line Input #1, str
x1(1) = Split(str, ",")
y1(1) = Split(str, ",")
z1(1) = Split(str, ",") & vbCrLf
i = i + 1LoopClose #1
length = UBound(x1) - LBound(x1) + 1r = 0
While (i < length)
Call pl_DDZB_TO_KJZB(Val(x1(r)), Val(y1(r)), Val(z1(r)), a1, b1)
Wend
End Sub
uj5u.com熱心網友回復:
text檔案型別x,y,z
x,y,z
。。。
uj5u.com熱心網友回復:
txt 拜托!江湖救急!
uj5u.com熱心網友回復:
你的 x1 y1 z1 定義為不定陣列,然后在還沒有定義陣列元素個數的時候就使用了 x1(1) 進行賦值。 陣列還沒初始化。還有你的回圈里面 length連續賦值是干啥的?
還有r這個變數并未看到變化,可是你最后又用了x1(r)
while(i<length)這個條件一旦滿足,進入回圈,目測就出不來了。
幸好在前面就已經發生陣列下標越界了,要不然你的程式就會進入后面的死回圈。
所以,建議你還是重新的捋一遍你的代碼 單步跟蹤一下,看看是不是都在你的預期之內
uj5u.com熱心網友回復:
沒有連續賦值吧! 那個不是回圈里的啊 vb的動態陣列要怎么初始話 大佬救命 我第一次用vbuj5u.com熱心網友回復:
沒有連續賦值吧! 那個不是回圈里的啊 vb的動態陣列要怎么初始話 大佬救命 我第一次用vb
uj5u.com熱心網友回復:
要不然你就dim x1(n) as string
要不然就
dim x1() as string
redim x1(n)
While (i < length)
Call pl_DDZB_TO_KJZB(Val(x1(r)), Val(y1(r)), Val(z1(r)), a1, b1)
Wend
這三行好好斟酌一下,除非你的i是可以在 pl_DDZB_TO_KJZB 里面被修改掉的。
uj5u.com熱心網友回復:
這里不是i 是r 就是我打開這個檔案 然后賦值給三個陣列 然后提取陣列中的數 在函式中運行 現在就是提取的時候有問題??大佬可以給我個聯系方式嗎 能不能麻煩發你幫我看下
uj5u.com熱心網友回復:
改了一下,你看這樣行不行:
Private Sub Command5_Click()
Dim a1 As Double
a1 = Val(text4.Text)
Dim b1 As Double
b1 = Val(text5.Text)
Open "C:\Users\Administrator\Desktop\坐標資料.txt" For Input As #1
Dim i As Integer
Do While Not EOF(1)
Dim strLine As String
Line Input #1, strLine
Dim arrLine() As String
arrLine = Split(strLine, ",")
Call pl_DDZB_TO_KJZB(Val(arrLine(0)), Val(arrLine(1)), Val(arrLine(2)), a1, b1)
Loop
Close #1
End Sub
uj5u.com熱心網友回復:
謝謝大神我已經弄好了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/35156.html
標籤:VB基礎類
下一篇:各位大俠、兄弟,幫幫忙!我需要在windows上跑的腳本(看到這里是腳本檔案區就發過來了,),最好是vbs等能直接運行于作業系統上的
