'Add the Use of Microsoft Scripting Runtime 'Yse FSO Private Sub Form_Load()Dim fso As FileSystemObject Dim fl As TextStream Dim Text(2) As String Text(0) = "abcdefg" Text(1) = "bedaff" Text(2) = "dfdsfewf" Set fso = CreateObject("Scripting.FileSystemObject") Set fl = fso.OpenTextFile(App.Path & "\sample.txt", ForAppending, True) For i = 0 To 2 fl.Write (Text(i)) Next i End Sub
看错了,以为是合在一起,不分行!! 上面输出的是:“abcdefgbedaffdfdsfewfabcdefgbedaffdfdsfewf” 改成这样!! WriteLine 写行 Write 不换行 改成这样:'Add the Use of Microsoft Scripting Runtime 'Use FSO Private Sub Form_Load()Dim fso As FileSystemObject Dim fl As TextStream Dim Text(2) As String Text(0) = "abcdefg" Text(1) = "bedaff" Text(2) = "dfdsfewf" Set fso = CreateObject("Scripting.FileSystemObject") Set fl = fso.OpenTextFile(App.Path & "\sample.txt", ForAppending, True) For i = 0 To 1 fl.WriteLine (Text(i)) Next i fl.Write (Text(2)) fl.WriteLine ("1234") End Sub输出是这样: abcdefg bedaff dfdsfewf1234
to gump2000(阿甘) : 问题是Binary方式的话,不能进行追加操作啊!??请问如何解决??to w18ily(再回首,西门吹沙) : 你是对的,谢谢!不过如果不使用FSO如何实现?
怎么不行呢? 可以直接在Put里定位 或者用Seek
to: gump2000(阿甘) 请问如何定位?定多少位如何计算? 请给出相关代码,谢谢!
Put #1,FileLen()+1,sdfsda =-=-=-=-=-=-=-=-=-=-=-=-= 风姿文本游戏控件 http://www14.brinkster.com/inshua http://gt.onlinedown.net/windpose.htm
Option ExplicitDim FileNo As Integer Dim lngTempPos As LongPrivate Sub Command1_Click() On Error Resume Next Dim lngLength As Long Dim sName As String, RecordNumber As Integer ' 声明变量。
FileNo = FreeFile() sName = "赵sanpo" Open App.Path & "\Test.txt" For Binary As FileNo Put #FileNo, lngTempPos, sName ' 将记录写入文件中。 lngTempPos = Seek(FileNo) Close #FileNo ' 关闭文件。 End SubPrivate Sub Form_Load() lngTempPos = 1 End Sub
写文件前用seek函数将文件指针定到文件尾
然后开始写
'Yse FSO
Private Sub Form_Load()Dim fso As FileSystemObject
Dim fl As TextStream
Dim Text(2) As String
Text(0) = "abcdefg"
Text(1) = "bedaff"
Text(2) = "dfdsfewf"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fl = fso.OpenTextFile(App.Path & "\sample.txt", ForAppending, True)
For i = 0 To 2
fl.Write (Text(i))
Next i
End Sub
上面输出的是:“abcdefgbedaffdfdsfewfabcdefgbedaffdfdsfewf”
改成这样!!
WriteLine 写行
Write 不换行
改成这样:'Add the Use of Microsoft Scripting Runtime
'Use FSO
Private Sub Form_Load()Dim fso As FileSystemObject
Dim fl As TextStream
Dim Text(2) As String
Text(0) = "abcdefg"
Text(1) = "bedaff"
Text(2) = "dfdsfewf"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fl = fso.OpenTextFile(App.Path & "\sample.txt", ForAppending, True)
For i = 0 To 1
fl.WriteLine (Text(i))
Next i
fl.Write (Text(2))
fl.WriteLine ("1234")
End Sub输出是这样:
abcdefg
bedaff
dfdsfewf1234
问题是Binary方式的话,不能进行追加操作啊!??请问如何解决??to w18ily(再回首,西门吹沙) :
你是对的,谢谢!不过如果不使用FSO如何实现?
可以直接在Put里定位
或者用Seek
请问如何定位?定多少位如何计算?
请给出相关代码,谢谢!
=-=-=-=-=-=-=-=-=-=-=-=-=
风姿文本游戏控件
http://www14.brinkster.com/inshua
http://gt.onlinedown.net/windpose.htm
Dim lngTempPos As LongPrivate Sub Command1_Click()
On Error Resume Next
Dim lngLength As Long
Dim sName As String, RecordNumber As Integer ' 声明变量。
FileNo = FreeFile()
sName = "赵sanpo"
Open App.Path & "\Test.txt" For Binary As FileNo
Put #FileNo, lngTempPos, sName ' 将记录写入文件中。
lngTempPos = Seek(FileNo)
Close #FileNo ' 关闭文件。
End SubPrivate Sub Form_Load()
lngTempPos = 1
End Sub
Print #FileNo, "dfdsfewf";
MSDN上居然没有!