Ordinare gli elementi di una ListBox

agosto 5, 2008

A poche ore dal rilascio di My Diary, con mezz’ora di esclusiva attenzione verso questo problema, sono riuscito a formulare la procedura per l’ordinamento (sorting) degli elementi (items) all’interno di una ListBox1. Ricordo sempre che il tutto è testato sul Visual Studio 2008.

La procedura è stata provata con molte combinazioni differenti di insieme di elementi TESTUALI, dando sempre esito positivo, con grande sorpresa del sottoscritto.
Resta da gestire la situazione di lista numerica (per assurdo!) e la gestione di una lista di record, e non di singoli elementi. Vedrò cosa riuscirò a fare.

Bando alle ciance, ecco la procedura per l’ordinamento degli elementi di una lista ListBox:


Private Sub ordineLista()

Dim contatore As Integer

contatore = ListBox1.Items.Count – 1

Dim elem1, elem2 As Object
Dim succ As Integer

For reorder = 0 To contatore – 1
For var = 0 To contatore – 1
elem1 = ListBox1.Items.Item(var)
succ = var + 1
elem2 = ListBox1.Items.Item(succ)
If elem1 > elem2 Then
ListBox1.Items.Item(var) = elem2
ListBox1.Items.Item(succ) = elem1
End If
Next var
Next reorder

End Sub

Ovviamente questa procedura andrà ad arricchire la prossima versione di My Diary.

Ci tengo anche a dire che OVUNQUE io abbia cercato risultavano esserci procedure pre-esistenti che, probabilmente, non si posso utilizzare con l’SDK dei dispositivi portatili con WinCE