Dim c1
Dim newstring
newstring = "dsfdsfjldsjlfdsjlj"
Open newstring For Input As #1
Do While Not EOF(1)
Line Input #1, c1
Text1.Text = Text1.Text & c1
Loop
Close #1
为什么他只提示找不到文件,难道不能把NEWSTRING变量直接替换掉路径吗?我想实现的效果就是让OPEN直接读取NEWSTRING变量里的内容按行读取需要怎样写?

解决方案 »

  1.   

    先要保证文件 C:\abc.txt 是存在的。Dim c1 as string 
    Dim newstring as stringnewstring = "c:\abc.txt"Open newstring For Input As #1
    Do While Not EOF(1)
      Line Input #1, c1
      Text1.Text = Text1.Text & c1
    Loop
    Close #1
      

  2.   

    newstring = "dsfdsfjldsjlfdsjlj"
    保证这个路径有意义
      

  3.   

    晕,你还明白我的意思,我不是要读取文件,我是读取newstring 这个变量就行了,newstring 是我的赋值,不是一个保存文件路径的变量,因为另外的代码已经读取了后,把文本文件里的内容存入了变量newstring ,我为了避免反复的磁盘调入,我就预先把没有改变过的内容直接放入变量,然后代码不用调磁盘文件而调NEWSTRING这个变量里的内容放入input,但是这样做了后就出错!
      

  4.   

    补充:因为我是放在网络上的程序,所以这样做了是为了避免网络主机关机后,而客户端机器继续调用网络主机上的文件!这样直接调内存来完成就不会出错了,NEWSTRING
      

  5.   

    大哥,我完全地被你搞晕了!!!
    文本文件里的内容已存入了变量newstring ,为什么还要读取??你要从哪读取?
    line input和 input只能从文件中读取!
    “放在网络上的程序”,是在网络主机运行吧!
    “了避免网络主机关机后,而客户端机器继续调用网络主机上的文件!这样直接调内存来完成就不会出错了”这一句真是太幽默了,哈哈!
      

  6.   

    lz我不太明白你的意见Open newstring For Input As #1你这个明明是打开某个文件的代码阿阿勇同学,没准人家是mm呢,不要激动
      

  7.   

    zzyong00(阿勇) 你还是误解意思了,我客户端程序是运行调用主机程序的快捷方式,我只要实现的效果就是,让open 能从变量NEWSTRING 里读取,而不需路径,因为变量NEWSTRING 里已经存入了比如a.txt文本里的内容!我要实现的效果就是能对变量执行象上面代码读取的效果!!如
    :NEWSTRING 里的内容为:  abcsdfsdlfjdslfjdsljd
                              dsjlfdsljfjdsljfldsjfl
                              sdfjldsjfldsjfldsjflds
    但是我把那个本该写路径的换成变量NEWSTRING就不能用了,我要达到的效果就是
    Open newstring For Input As #1
    Do While Not EOF(1)
      Line Input #1, c1
      Text1.Text = Text1.Text & c1
    Loop
    Close #1
    不知道错在哪里了?如果有其他方法实现也行!
      

  8.   

    客户端机器继续调用网络主机上的文件!这样直接调内存来完成就不会出错了”这一句真是太幽默了,哈哈!
    看你这句的意思,不知道你为什么还是没看明白,我在程序加载时,把需要从服务器调用的文件内容如a.txt放入变量NEWSTRING,这样在程序已经运行中,就可以直接调newstring就不需要调用服务器的文件了不就不会出错了吗
      

  9.   

    Dim c1 as string 
    Dim newstring as stringnewstring = "c:\abc.txt"  '""中的是路径就行了Open newstring For Input As #1
    Do While Not EOF(1)
      Line Input #1, c1
      Text1.Text = Text1.Text & c1
    Loop
    Close #1
      

  10.   


    Open newstring For Input As #1
    是读取文件的方法读变量直接 text1.text=newstring 不就结了没看明白
      

  11.   

    Open newstring For Input As #1
    是读取文件的方法读变量直接 text1.text=newstring 不就结了没看明白
    ===========同意
      

  12.   

    我也知道读变量直接 text1.text=newstring 不就结了
    因为要对变量里的内容按行读取操作,然后我程序要塞选需要的内容,不是把整个读下来
      

  13.   

    我也知道读变量直接 text1.text=newstring 不就结了
    因为要对变量里的内容按行读取操作,然后我程序要塞选需要的内容,不是把整个读下来
    ----------------
    确保你由文件读入变量时,行与行之间用了分隔符(比如回车vbcrlf),然后用split函数处理比如:
    newstring = "aaaaaaaa"& vbcrlf & "bbbbbbbbbbbbbbb"
    dim s() as string
    s=xplit(newstring,vbcrlf)
    这样
    s(0)="aaaaaaaa"
    s(1)="bbbbbbbbbbbbbbb"
      

  14.   

    我也知道读变量直接 text1.text=newstring 不就结了
    因为要对变量里的内容按行读取操作,然后我程序要塞选需要的内容,不是把整个读下来
    ----------------
    确保你由文件读入变量时,行与行之间用了分隔符(比如回车vbcrlf),然后用split函数处理比如:
    newstring = "aaaaaaaa"& vbcrlf & "bbbbbbbbbbbbbbb"
    dim s() as string
    s=split(newstring,vbcrlf)
    这样
    s(0)="aaaaaaaa"
    s(1)="bbbbbbbbbbbbbbb"
      

  15.   

    谢谢vbman2003(家人)的解答 用这个函数split 可以实现我要的读行的效果,但是变量的内容不是固定的有可能是3行,或者7行要怎样通过这个函数实现下面代码的逐行读取的效果呢,并且把内容放进变量c1中
    Do While Not EOF(1)
      Line Input #1, c1
     Loop
      

  16.   

    用ubound(s)返回数组维的最大下标,然后for循环就可以了
      

  17.   

    就如接上面的例子:
    for i=0 to ubound(s)
        print s(i)
    next