当事人死亡:菜鸟vb关于文本问题,近来看看,有分

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 19:50:44
目的:将一个文本w.txt中指定的若干个行写成另外一个文件w1.txt
问题:我使用line input来读行,但不会使用循环,有多少个行,我就写多少个line input,请高手帮我修改成循环语句,谢谢。
源码:
Private Sub Command1_Click()
Dim strF(75) As String
Open "d:\vbtmp\w.txt" For Input As #1
Line Input #1, strF(1) '将各行分别载入字符串变量
Line Input #1, strF(2)
...
...
Line Input #1, strF(74)
Line Input #1, strF(75) '有75行,要是有1千行我怎么办,555
Close #1
Open "d:\vbtmp\w1.txt" For Append As #2 '以添加方式建立文件w1.txt
Print #2, strF(42) '顺序将我需要的行添加入w1.txt
Print #2, strF(66)
Print #2, strF(72)
Print #2, strF(73)
Print #2, strF(74)
Close #2
End Sub

Private Sub Command1_Click()
Dim strF(75) As String
Open "d:\vbtmp\w.txt" For Input As #1

for n=1 to 75
Line Input #1, strF(n) '将各行分别载入字符串变量
next n

Close #1
Open "d:\vbtmp\w1.txt" For Append As #2 '以添加方式建立文件w1.txt
Print #2, strF(42) '顺序将我需要的行添加入w1.txt
Print #2, strF(66) '这里就5行,没有规律,不改也罢
Print #2, strF(72)
Print #2, strF(73)
Print #2, strF(74)
Close #2
End Sub

这样写就好了!!

Private Sub Command1_Click()
Dim strF(75) As String
Open "d:\vbtmp\w.txt" For Input As #1

for n=1 to 75
Line Input #1, strF(n) '将各行分别载入字符串变量
n=n+1
next n

Close #1
Open "d:\vbtmp\w1.txt" For Append As #2 '以添加方式建立文件w1.txt
Print #2, strF(42) '顺序将我需要的行添加入w1.txt
Print #2, strF(66) '这里就5行,没有规律,不改也罢
Print #2, strF(72)
Print #2, strF(73)
Print #2, strF(74)
Close #2
End Sub

提供一个算法供你参考:

1 获得欲读取文件的行数。
Key: Do Until EOF(fileNumber)...Loop
2 定义一个数组或其他类型(重定义数组redim,文件行数与数组大小同)
3 读取文本文件各行至数组中。
Do Until EOF(fileNumber)
1)读文件行至数组中
2)控制数组索引值的变化
Loop
4 按文件行数或数组大小写入新的文本文件(注意如果数组索引控制不当会导致多一个空行。)

最后,想说,这样写其实都复杂了。
仅仅一个文本拷贝与更名就可以了。
VB文件拷贝更名:FileCopy可实现。

楼上for了就不要再n=n+1了~~~
是~
for n=1 to 75
Line Input #1, strF(n) '将各行分别载入字符串变量
next n
成了

顺流漂去,不要再n=n+1了,这样循环就无法全部读行

高手不多见,确实!