Private Sub Command1_Click()
'1: 9-4
'2: 9-0
'3: 6-0
'4: 9-1
'1: 9-0 [besser als 9-1]
'2: 9-1 [besser als 9-4]
'3: 9-4 [besser als 6-0]
'4: 6-0
Dim ergebnisse() As String
ReDim ergebnisse(9)
ergebnisse(0) = "4-4"
ergebnisse(1) = "9-4"
ergebnisse(2) = "9-0"
ergebnisse(3) = "6-0"
ergebnisse(4) = "9-1"
ergebnisse(5) = "5-1"
ergebnisse(6) = "9-3"
ergebnisse(7) = "6-5"
ergebnisse(8) = "6-4"
Dim i As Integer
Dim j As Integer
Dim tmp As String
Dim swaped As Boolean
Dim msg1 As String
For i = 0 To UBound(ergebnisse)
msg1 = msg1 + vbCrLf + ergebnisse(i)
Next i
swapped = True
While swapped
swapped = False
For i = 0 To UBound(ergebnisse) - 2
If vergleiche(ergebnisse(i), ergebnisse(i + 1)) < 0 Then
swapped = True
tmp = ergebnisse(i)
ergebnisse(i) = ergebnisse(i + 1)
ergebnisse(i + 1) = tmp
End If
Next i
Wend
Dim msg2 As String
For i = 0 To UBound(ergebnisse)
msg2 = msg2 + vbCrLf + ergebnisse(i)
Next i
MsgBox msg1 + vbCrLf + vbCrLf + msg2, vbInformation
End Sub
Private Function split_erg(erg As String) As String()
split_erg = Split(erg, "-")
End Function
Private Function vergleiche(erg1 As String, erg2 As String) As Integer
Dim erg_tmp1() As String
Dim erg_tmp2() As String
erg_tmp1 = split_erg(erg1)
erg_tmp2 = split_erg(erg2)
If (CInt(erg_tmp1(0)) > CInt(erg_tmp2(0))) Then
vergleiche = 1
ElseIf (CInt(erg_tmp1(0)) < CInt(erg_tmp2(0))) Then
vergleiche = -1
Else
If (CInt(erg_tmp1(1)) > CInt(erg_tmp2(1))) Then
vergleiche = -1
ElseIf (CInt(erg_tmp1(1)) < CInt(erg_tmp2(1))) Then
vergleiche = 1
Else
vergleiche = 0
End If
End If
End Function