FileNum = FreeFile()
strFileName = "D:\tool\VB98\myapp\ATPv1.01\v4.2\RoadNode202Left.txt"
Open strFileName For Input As #FileNum
For i = 0 To 468
    Road202NodeLeft(i) =Line Input #FileNum,(Chr(13) + Chr(10))'(*)
    Debug.Print Road202NodeLeft(i)
Next i
Close
老是:Compile error
Expected:end of statement
msdn上说:Input # 语句期待一个变量作为其第二个参数。
但是line input的语法说:Line Input # 语句一次只从文件中读出一个字符,直到遇到回车符 (Chr(13)) 或回车–换行符 (Chr(13) + Chr(10)) 为止。回车–换行符将被跳过,而不会被附加到字符串上。
我该怎么写(*)句了?!

解决方案 »

  1.   

    line input # 是语句,不是函数,没有返回值!
    你该这么写的~
    Line Input #FileNum, [设置一个字string变量,用于装载读入的字串]
      

  2.   

    如:
    dim strtmp as string
    open .......... as #filenum
    Do While Not EOF(FileNum)
    line input #filenum,strtmp
    text1.text = text1.text & strtmp & vbcrlf '注意,textbox的"允许换行"属性为真
    Loop
      

  3.   

    哦,原来我把msdn的意思搞错了。
    但是我的文本里面的值是doule数值,如果我用string把doule值提出来,该怎么还原并写入数组了?!
      

  4.   

    先分解,再cdbl或者val,再赋值给数组
      

  5.   

    引处长度为468,如果数组长度不确定就动态定义.
    dim Road202NodeLeft(468) as double
    Open strFileName For Input As #FileNum
    input #FileNum,468
    for i=1 to 468
       input #FileNum,Road202NodeLeft(i) 
    next i
      

  6.   

    Dim Road202NodeLeft(469) As Double
    strFileName = "D:\tool\VB98\myapp\ATPv1.01\v4.2\RoadNode202Left.txt"
    Open strFileName For Input As #1
    For i = 0 To 468
       Input #1, Road202NodeLeft(468)
    Next i