读书人

怎么用VB把这个文本文档内的数读出来并

发布时间: 2012-02-19 19:43:37 作者: rapoo

如何用VB把这个文本文档内的数读出来并用一个数组存下来?
我想过一下,不过算法可能大复杂了,很久都没有算完,一定要用VB算,这个文本文档不能改。

大体说说算法就可以了,有程序代码当然更好。


===========================================
705 533 579 289 301 774 14 760 814 709 45 414 862 790 373 961 871 56 949 364
524 767 53 592 468 298 622 647 263 279 829 824 589 986 910 226 695 980 243 533
106 999 676 15 575 100 103 798 284 45 295 382 300 948 979 401 278 160 162 646
410 412 712 326 633 207 186 583 80 457 905 261 785 378 289 919 631 627 428 97
561 694 913 834 22 543 916 430 677 502 513 462 353 404 269 55 243 979 60 390

===========================================

注意文件不能改,705前面有一个空格的。

主要是处理空格的问题,具体说说是用那个语句或函数。
若是只有chr(13)这样分开那就很简单了,一行一行地读就可以了

[解决办法]
line input 后 trim 在split
[解决办法]
Private Sub CmdTest_Click()
'测试数据假设放入readtxt.txt文件中
Dim TextLine As String '放置每行读入的数据
Dim arrTemp '临时数组
Dim arrResult() As Long '结果数组
Dim i As Long
Dim j As Long

Open App.Path & "\readtxt.txt " For Input As #1 '打开文件

Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
TextLine = Trim(TextLine) ' 去掉前面空格
arrTemp = Split(TextLine, " ") ' 用两个空格切分,送入数组arrtemp

ReDim Preserve arrResult(i * 20 + 19) As Long '放大数组
For j = 0 To 19
arrResult(i * 20 + j) = arrTemp(j) '追加入数组arrresult
Next
i = i + 1
Loop

Close #1 '关闭文件

For i = 0 To UBound(arrResult) '打印最后的数组
Debug.Print arrResult(i)
Next
End Sub

读书人网 >VB

热点推荐