Hallo,
könnte mir bitte jemand bei dieser Veränderung helfen?
Es geht um diesen VB-Code (aktueller Stand)
Input schaut so aus:
12 46 47 33 1
12 9 47 33 2
12 9 47 46 3
12 9 17 33 4
12 9 17 46 5
12 9 7 33 6
12 9 7 46 7
12 32 23 33 8
12 32 23 46 9
12 1 14 33 10
12 1 14 46 11
12 1 23 33 12
12 1 23 46 13
12 14 8 33 14
12 14 8 46 15
12 47 13 33 16
12 47 13 46 17
12 47 42 33 18
12 47 42 46 19
12 47 19 33 20
12 47 19 46 21
12 47 24 33 22
12 47 24 46 23
12 47 34 33 24
12 47 34 46 25
12 36 17 33 26
12 36 17 46 27
12 36 49 33 28
12 36 49 46 29
12 25 33 46 30
12 13 49 33 31
12 13 49 46 32
12 8 10 33 33
12 8 10 46 34
12 17 34 33 35
12 17 34 46 36
12 21 18 33 37
12 21 18 46 38
12 21 19 33 39
12 21 19 46 40
46 1 39 33 41
46 14 16 33 42
46 47 7 33 43
46 36 45 33 44
46 43 48 33 45
46 23 28 33 46
46 20 42 33 47
46 8 28 33 48
46 28 18 33 49
46 21 18 33 50
46 48 7 33 51
26 9 47 33 52
26 9 47 46 53
26 9 7 33 54
26 9 7 46 55
26 32 39 33 56
26 32 39 46 57
26 37 47 33 58
26 37 47 46 59
26 37 16 33 60
26 37 16 46 61
26 37 21 33 62
26 37 21 46 63
26 37 19 33 64
26 37 19 46 65
26 1 23 33 66
26 1 23 46 67
26 22 41 33 68
26 22 41 46 69
26 22 39 33 70
26 22 39 46 71
26 47 24 33 72
26 47 24 46 73
26 47 7 33 74
26 47 7 46 75
26 47 34 33 76
26 47 34 46 77
26 36 28 33 78
26 36 28 46 79
26 30 24 33 80
26 30 24 46 81
26 43 42 33 82
26 43 42 46 83
26 23 42 33 84
26 23 42 46 85
26 17 24 33 86
26 17 24 46 87
26 41 21 33 88
26 41 21 46 89
26 21 19 33 90
26 21 19 46 91
26 24 39 33 92
26 24 39 46 93
26 39 10 33 94
26 39 10 46 95
26 33 34 46 96 Private Sub Command1_Click()
Dim S1$, Summe&, i&, a&, b&, Z1$(), Z2$(), Lst$(), strZahlen1$, strZahlen2$
Open "input.txt" For Binary As #1
Open "output.txt" For Output As #2
S1 = Space$(LOF(1))
Get #1, , S1
Close #1
Lst = Split(S1, vbCrLf)
For i = 0 To UBound(Lst) - 1
Z1 = Split(Lst(i), vbTab)
If UBound(Z1) < 4 Then
MsgBox "Zeile " & (i + 1) & " zu wenig Werte" & vbCr & ">" & Lst(i) & "<"
Else
For j = i + 1 To UBound(Lst)
Z2 = Split(Lst(j), vbTab)
If UBound(Z2) < 4 Then
MsgBox "Zeile " & (j + 1) & " zu wenig Werte" & vbCr & ">" & Lst( _
j) & "<"
Else
Summe = 0
For a = 0 To 3
For b = 0 To 3
If Trim$(Z1(a)) = Trim$(Z2(b)) Then
Z2(b) = "-"
Summe = Summe + 1
Exit For
End If
Next b
Next a
If Summe >= 3 Then
Z2 = Split(Lst(j), vbTab)
strZahlen1 = ""
strZahlen2 = ""
For a = 0 To 3
strZahlen1 = strZahlen1 & " " & Z1(a)
strZahlen2 = strZahlen2 & " " & Z2(a)
Next
Print #2, Trim$(Z1(4)) & " (" & strZahlen1 & ") / " & Trim$(Z2(4)) & " (" & _
strZahlen2 & ")"
End If
End If
Next j
End If
Next i
Beep
Unload Me
End Sub Derzeitiger Ablauf:
Nehme die erste Zeile und vergleiche sie mit allen anderen Zeilen auf die Übereinstimmung von >= 3 Zahlen, wenn ja dann print
danach nehme die zweite Zeile usw. bis zum Dateiende.
Und nun meine Bitte:
Wie kann ich den VB-Code so verändern, das der Ablauf wie folgt ist:
Nehme die erste Zeile und vergleiche sie nur mit der 7.Zeile
bei >= 3 Zahlen wie oben print usw.
Also nochmals:
Vergleiche
Zeile 1 und Zeile 7
Zeile 2 und Zeile 8
Zeile 3 und Zeile 9
Zeile 4 und Zeile 10
Zeile 5 und Zeile 11
usw.usw.
Würde mich freuen, wenn ein Profi mir hier helfen könnte.
1000 Dank vorab
LG
Angelina (JBL) |