I have this kind of imput in my arraylist:
1
1.1
1.1.1
1.1.1.1
1.1.2
1.10
1.11
1.2
1.9
And I want to sort it, to get result looks like this:
1
1.1
1.1.1
1.1.1.1
1.1.2
1.2
1.9
1.10
1.11
I have found possible solutions in other languages but it is difficult for me to understand them. I have this function that reads the file names of a folder without its extension but I don't know how to order them (I tried to treat them as decimals but it didn't work).
Function GetVersions(ByVal mypath As String) As ArrayList
Dim Versions As New ArrayList
For Each Ver As String In My.Computer.FileSystem.GetFiles(mypath)
If IsNumeric(Path.GetFileNameWithoutExtension(Ver)) Then
Versions.Add(Decimal.Parse(Path.GetFileNameWithoutExtension(Ver)).ToString("#0.00"))
End If
Next
Dim mesg As String = ""
For Each str As String In Versions
mesg = mesg & str & vbCrLf
Next
MsgBox(mesg)
Return Versions
End Function
I am not very familiar with IComparer but I can implement it if I need it
The class in the example stores the version number as an encoded Long with each position being between 0 and 255, 8 bits. Probably a little overkill unless you have a whole lot of this ... ;)
A form with a button is required,