Ich verwende eine Blasensortierfunktion, um Objekte nach ihren Eigenschaften zu sortieren. Leider musste ich für jede Eigenschaft eine Funktion schreiben. Gibt es eine Möglichkeit, die folgenden Funktionen zu verallgemeinern?Bubble-Objekt durch eine beliebige Eigenschaft sortieren?
Statt
SortArticlesByVolume(a)
SortArticlesByLenght(a)
schreiben würde Ich mag, wie etwas schreiben:
SortArticles(a, volume)
Sub SortArticlesByVolume (ByRef Artikel As Variant)
Dim sorted As Boolean
Dim i As Integer
sorted = False
Do While Not sorted
sorted = True
For i = 0 To UBound(articles) - 1
If articles(i).volume < articles(i + 1).volume Then
Set temp = articles(i + 1)
Set articles(i + 1) = articles(i)
Set articles(i) = temp
sorted = False
End If
Next i
Loop
End Sub
Sub SortArticlesBylenght (ByRef Artikel As Variant)
Dim sorted As Boolean
Dim i As Integer
sorted = False
Do While Not sorted
sorted = True
For i = 0 To UBound(articles) - 1
If articles(i).lenght < articles(i + 1).lenght Then
Set temp = articles(i + 1)
Set articles(i + 1) = articles(i)
Set articles(i) = temp
sorted = False
End If
Next i
Loop
End Sub
'Länge', wirklich? –