文本文件必须按NAME排序 Dim i, k, sta_a() As String, s As String, ss() As String Dim name As String, n As Integer, s6 As Integer Open "d:\a.txt" For Input Lock Read As #1 i = 0 Line Input #1, s Do While Not EOF(1) Line Input #1, s i = i + 1 Loop ReDim str_a(i) For k = 0 To i str_a(k) = "1" Next k Seek 1, 1 i = 0 Line Input #1, s Do While Not EOF(1) Line Input #1, s ss = Split(s, Chr(9)) 'conc1和conc2都小于10 If Val(ss(2)) < 10 And Val(ss(5)) < 10 Then str_a(i) = "0" End If i = i + 1 Loop
Seek 1, 1 i = 0 Line Input #1, s Do While Not EOF(1) Line Input #1, s i = i + 1 If str_a(i - 1) = "1" Then ss = Split(s, Chr(9)) If i = 1 Then name = ss(1) n = 1 s6 = 0 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If Else If name <> ss(1) Then If n = 1 Then name = ss(1) n = 1 s6 = 0 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If '单行的 str_a(i - 1) = "0" Else '一组都大于1或小于1 If s6 = n Or s6 = 0 Then k = i - 1 Do While n <> 0 If str_a(k - 1) = "1" Then n = n - 1 str_a(k - 1) = "0" End If k = k - 1 Loop End If name = ss(1) n = 1 s6 = 0 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If End If Else n = n + 1 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If End If End If End If Loop If n = 1 Then name = ss(1) n = 1 s6 = 0 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If '单行的 str_a(i - 1) = "0" Else '一组都大于1或小于1 If s6 = n Or s6 = 0 Then k = i - 1 Do While n <> 0 If str_a(k - 1) = "1" Then n = n - 1 str_a(k - 1) = "0"
End If k = k - 1 Loop End If name = ss(1) n = 1 s6 = 0 If Val(ss(6)) > 1 Then s6 = s6 + 1 End If End If Open "d:\b.txt" For Output As #2 i = 0 Seek 1, 1 Line Input #1, s Write #2, s Do While Not EOF(1) Line Input #1, s If str_a(i) = "1" Then Write #2, s End If i = i + 1 Loop Close #1 Close #2 MsgBox "ok"
Dim i, k, sta_a() As String, s As String, ss() As String
Dim name As String, n As Integer, s6 As Integer
Open "d:\a.txt" For Input Lock Read As #1
i = 0
Line Input #1, s
Do While Not EOF(1)
Line Input #1, s
i = i + 1
Loop
ReDim str_a(i)
For k = 0 To i
str_a(k) = "1"
Next k
Seek 1, 1
i = 0
Line Input #1, s
Do While Not EOF(1)
Line Input #1, s
ss = Split(s, Chr(9))
'conc1和conc2都小于10
If Val(ss(2)) < 10 And Val(ss(5)) < 10 Then
str_a(i) = "0"
End If
i = i + 1
Loop
Seek 1, 1
i = 0
Line Input #1, s
Do While Not EOF(1)
Line Input #1, s
i = i + 1
If str_a(i - 1) = "1" Then
ss = Split(s, Chr(9))
If i = 1 Then
name = ss(1)
n = 1
s6 = 0
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
Else
If name <> ss(1) Then
If n = 1 Then
name = ss(1)
n = 1
s6 = 0
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
'单行的
str_a(i - 1) = "0"
Else
'一组都大于1或小于1
If s6 = n Or s6 = 0 Then
k = i - 1
Do While n <> 0
If str_a(k - 1) = "1" Then
n = n - 1
str_a(k - 1) = "0"
End If
k = k - 1
Loop
End If
name = ss(1)
n = 1
s6 = 0
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
End If
Else
n = n + 1
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
End If
End If
End If
Loop
If n = 1 Then
name = ss(1)
n = 1
s6 = 0
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
'单行的
str_a(i - 1) = "0"
Else
'一组都大于1或小于1
If s6 = n Or s6 = 0 Then
k = i - 1
Do While n <> 0
If str_a(k - 1) = "1" Then
n = n - 1
str_a(k - 1) = "0"
End If
k = k - 1
Loop
End If
name = ss(1)
n = 1
s6 = 0
If Val(ss(6)) > 1 Then
s6 = s6 + 1
End If
End If
Open "d:\b.txt" For Output As #2
i = 0
Seek 1, 1
Line Input #1, s
Write #2, s
Do While Not EOF(1)
Line Input #1, s
If str_a(i) = "1" Then
Write #2, s
End If
i = i + 1
Loop
Close #1
Close #2
MsgBox "ok"