清半夏与法半夏的区别:VB文件方面的问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 16:10:26
Private Sub Form_Load()
Dim k As Integer, df As String
df = App.Path & "/" & " data.txt"
Open df For Input As #11
k = 1
Do While Not EOF(11)
ReDim Preserve bname(k), Id(k), price(k)
Input #11, bname(k), Id(k), price(k)
k = k + 1
Loop
Close (11)
End Sub 这是程序代码的一小部分,但在运行的时候总在df = App.Path & "/" & " data.txt"出错,显示"无法找到文件",可是明明我已经在C盘下放置了个Date的文本了啊.请大侠指点一下!分数不多!
Input #11, bname(k), Id(k), price(k) 显示"超出文本尾",怎么办啊 ???

APP.PATH 是指当前程序所在的路径,如果程序未编译时执行,即在VB的环境下运行程序时,它的当前路径是在VB的安装目录下,另,你的" data.txt"前不需要加空格。

假设你的程序已经编译,data.txt也在你程序目录下,那么可以使用如下代码:
If Right$(app.path,1) = "\" Then
df = App.Path & "data.txt"
Else
df = App.Path & "\data.txt"
End If
以上代码不管你的程序在根目录或其他目录,都可以正确指定路径,因为只有根目录时,使用app.path时,最后一位才是“\”,其他目录都没有。

如果你的data.txt固定位置在C盘的话,那就可以直接使用“C:\data.txt”

df = App.Path & "/" & " data.txt" <=这里是DATA
“C盘下放置了个Date的文本了啊.” <=你放的是DATE

这个问题你可以这样解决:

首先,你要知道app.path指的是应用程序的路径,也就是你写的这个VB程序的存放路径,而不是data.txt的存放路径,所以会报错

更改的办法是:df设置成data.txt文件的绝对路径,即“C:\data.txt"这样
程序就不会报错了。你可以试一试。祝你成功。

df = App.Path & "/" & " data.txt"

注意两点:
1,斜杠应该是\
2,如果App.Path = "C:\" 那你加了一个 "\" 不就多余了吗?

你代码的
df = App.Path & "/" & " data.txt" 有错:
应为
df = App.Path & "\" & "data.txt"
代码修改如下:
Option Explicit
Dim bname(), Id(), price()
Private Sub Form_Load()
Dim k As Integer, df As String
df = App.Path & "\" & "data.txt"
Open df For Input As #11
k = 1
Do While Not EOF(11)
ReDim bname(k), Id(k), price(k)
Input #11, bname(k), Id(k), price(k)
k = k + 1
Loop
Close (11)
End Sub
补充,请参阅:
http://zhidao.baidu.com/question/9916566.html

厉害阿。全是高手。,,