注册 登录
编程论坛 VB6论坛

读写文档,计算

liu753159 发布于 2022-11-15 21:36, 1279 次点击
一个文档中有
3456
8764
3374

分别读取每行四个数,并赋予某个数组。
3 回复
#2
yuma2022-11-16 10:16
代码一:

Private Sub Form_Load()
    Dim 数组() As String '定义一个动态数组
    Dim i As Integer
    Open "C:\Users\Admin\Desktop\1.txt" For Input As 1#   '打开输入文件
    Do While Not EOF(1)
        ReDim Preserve 数组(i)  '分配数组,保留原来的数据
        Line Input #1, 数组(i)  '读入数据
        i = i + 1
    Loop
    For i = 0 To UBound(数组)
        Debug.Print 数组(i)
    Next
   
    Debug.Print
    Debug.Print 数组(0)
   
    Close #1    '关闭文件
End Sub

代码二:

Private Sub Form_Load()
Dim data As String
Dim buffer As String
Dim str As String
Open "1.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, buffer
data = data + buffer + vbCrLf
Loop
'MsgBox data
Close #1
S = Split(data, Chr(13) & Chr(10))  '以回车换行符作为分隔符
For i = 0 To UBound(S)
MsgBox S(i)
Next
End Sub

代码三:

Private Sub Form_Load()
Dim data As String
Dim buffer As String
Dim str As String
Open "1.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, buffer
data = data + buffer + vbCrLf
Loop
'MsgBox data
Close #1
str = Replace(data, Chr(13) & Chr(10), ",") '回车换行符全部替换成逗号
S = Split(str, ",") '以逗号作为分隔符
For i = 0 To UBound(S)
MsgBox S(i)
Next
End Sub
#3
liu7531592022-11-16 15:56

3456
8764
3374

读写一个数据,比如读出3456,分别赋值给abcd,计算a+b+c+d,然后在读取8764,再分别赋值给abcd,计算a+b+c+d,等等。
#4
mrexcel2022-11-16 21:18
以下是引用liu753159在2022-11-16 15:56:01的发言:


3456
8764
3374

读写一个数据,比如读出3456,分别赋值给abcd,计算a+b+c+d,然后在读取8764,再分别赋值给abcd,计算a+b+c+d,等等。

程序代码:
Sub Test()
    Dim s() As String, t(1 To 4) As Long, i&, j&, sum&
    Open "d:\1.txt" For Input As #1
    s = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
    Close #1
    For i = 0 To UBound(s)
        sum = 0
        For j = 1 To 4
            t(j) = Val(Mid(s(i), j, 1))
            sum = sum + t(j)
        Next
        s(i) = s(i) & "-->" & sum
    Next
    MsgBox Join(s, vbCrLf)
End Sub
1