VB问题,急求解决。

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:10:48
我有一个txt文本,用下面程序将文本的值读出,但是总出现“类型不匹配”的错误。
文本如下:
23591 A
1731 A
55964 A
asdf P
23157 P
23157 P
23157 P
23157 P
23157 P
23157 A
23157 P
23176 P
23176 A
23176 P

程序如下。
Private Sub Command1_Click()
Dim Num1, Num2
Dim array1() As String, array2() As String
Dim arrnum As Long '记录数组长度
arrnum = 0
ReDim array1(arrnum)
ReDim array2(arrnum)
Open "D:\book3.txt" For Input As #1 ' 打开输入文件。
Do While Not EOF(1) ' 循环至文件尾。
Input #1, Num1, Num2 ' 将数据读入两个变量。
arrnum = arrnum + 1
ReDim Preserve array1(arrnum)
ReDim Preserve array2(arrnum)
array1(arrnum - 1) = Str(Num1)
Print Str(Num1)
array2(arrnum - 1) = Str(Num2)
Print Str(Num2)
Loop
Close #1 ' 关闭文件。<

因为你发的问题就是错误,而且也没有说明到底想要输出些什么东西,我只得输出了这个文件内容。如有其他要求请作补充。
代码如下。
=============
Private Sub Command1_Click()
Dim s As String
Open "D:\book3.txt" For Input As 1 ' 打开输入文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, s ' 将数据读入两个变量。
Print s
Loop
Close #1 ' 关闭文件。

End Sub

'将一行数据读入临时变量,查找空格,再分为前后两部分,分别复制给数组 array1() 和 array2()
Private Sub Command1_Click()
Dim array1() As String, array2() As String
Dim nStr As String, S As Long, arrnum As Long

ReDim array1(arrnum): ReDim array2(arrnum)

Open "D:\book3.txt" For Input As #1 ' 打开输入文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, nStr ' 将一行数据读入临时变量。
S = InStr(nStr, " ") '查找空格,再分为前后两部分
arrnum = arrnum + 1
ReDim Preserve array1(arrnum): ReDim Preserve array2(arrnum)
If S > 0 Then
array1(arrnum) = Left(nStr, S - 1): array2(arrn