====================文件名或编号错误=================

800_1 2003-09-09 09:16:13
Public tempfilepath As String
Public tempfile_int, file2_int As Integer

Private Sub Strart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Strart.Click

Save1.Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)| *.*"
Save1.ShowDialog()
FileOpen(file2_int, Save1.FileName, OpenMode.Output)

End Sub

Public Sub aaa()

Dim i1 As Byte

tempfilepath = System.IO.Path.GetTempPath & DateString & "bhjl.tmp"
FileOpen(tempfile_int,tempfilepath, OpenMode.Output)

...

For i1=0 To ddd
PrintLine(tempfile_int, i1)
Next

FileClose(tempfile_int)
bbb()
End Sub

Sub bbb()
Dim i As Byte

...

For i = 0 To d
PrintLine(file2_int, i) '程序运行到这里出现错误,错误信息“文件名或编号错误”
Next

FileClose(file2_int)
End Sub

==========================================
...全文
135 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
800_1 2003-09-12
  • 打赏
  • 举报
回复
Public tempfilepath As String
Public tempfile_int, file2_int As Integer
Public file2_int As Integer = FreeFile()
Public tempfile_int As Integer = FreeFile() + 1

Private Sub Strart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Strart.Click

Save1.Filter = "文本文件 (*.txt)|*.txt|所有文件 (*.*)| *.*"
Save1.ShowDialog()

End Sub

Public Sub aaa()

Dim i1 As Byte

tempfilepath = System.IO.Path.GetTempPath & DateString & "bhjl.tmp"
FileOpen(tempfile_int,tempfilepath, OpenMode.Output)

...

For i1=0 To ddd
PrintLine(tempfile_int, i1)
Next

FileClose(tempfile_int)
bbb()
End Sub

Sub bbb()
Dim i As Byte
FileOpen(file2_int, Save1.FileName, OpenMode.Output) '这句移动这里就不会出错

...

For i = 0 To d
PrintLine(file2_int, i)
Next

FileClose(file2_int)
End Sub
xixigongzhu 2003-09-11
  • 打赏
  • 举报
回复
你确定只有这些贴出的代码用到了文件操作?

我将你的程序拷贝,然后设置file2_int为1,tempfile_int为2,跑得很好呀,一点问题都没有。
800_1 2003-09-11
  • 打赏
  • 举报
回复
我已经补上

Public file2_int As Integer = FreeFile()
Public tempfile_int As Integer = FreeFile() + 1

这两句,结果还是一样啊,到底是怎么回事?
xixigongzhu 2003-09-11
  • 打赏
  • 举报
回复
在vb.net中文件编号从1开始,到255,如果中间某个编号已经应用于某个文件,那么这个编号就不能再用了。

斑竹的tempfile_int, file2_int值分别是多少呢?
800_1 2003-09-10
  • 打赏
  • 举报
回复
不清楚你的意思啊,我第一次用是FileClose(tempfile_int)啊
800_1 2003-09-10
  • 打赏
  • 举报
回复
看了多遍的确只用一次啊?

哪里出错,大组快指点一下啊,谢谢
xixigongzhu 2003-09-10
  • 打赏
  • 举报
回复
bbb这个方法你只用了一次吗?
800_1 2003-09-09
  • 打赏
  • 举报
回复
是一样啊
xixigongzhu 2003-09-09
  • 打赏
  • 举报
回复
你在文件打开和写入文件的时候打印file2_int的值,看是不是一样。
xixigongzhu 2003-09-09
  • 打赏
  • 举报
回复
因为:
Sub bbb()
Dim i As Byte

...

For i = 0 To d
PrintLine(file2_int, i) '程序运行到这里出现错误,错误信息“文件名或编号错误”
Next

FileClose(file2_int)//?
End Sub

第一次写完后用了FileClose,所以第二次再写的时候这个文件就没有打开了。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧