Ik heb in mijn software een soort adresboekje zitten. Aangezien niet iedereen mooi alfabetisch z'n naampjes ingeeft (
) sorteer ik de array dus voor het opslaan. De reden waarom ik een array gebruik en geen database ofzo is hier verder niet relevant 
De lijst word gesorteerd op PhoneBook(i).Name, waarbij lege waarden NIET meegerekend worden en dus naar achteren verplaatst worden... Het werkt allemaal vrij goed, alleen in bepaalde situaties loopt er wat mis... bv als er helemaal vooraan en achteraan items staan komen ze niet altijd goed. Daarom sort ik de lijst voorlopig 2x.
Graag had ik jullie reacties en optimalisaties van me code
Het laatste stukje code zorgt voor het verplaatsen van de lege items naar achteren...
Alvast bedankt!
De lijst word gesorteerd op PhoneBook(i).Name, waarbij lege waarden NIET meegerekend worden en dus naar achteren verplaatst worden... Het werkt allemaal vrij goed, alleen in bepaalde situaties loopt er wat mis... bv als er helemaal vooraan en achteraan items staan komen ze niet altijd goed. Daarom sort ik de lijst voorlopig 2x.
Graag had ik jullie reacties en optimalisaties van me code
Alvast bedankt!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| Public Type PhoneNumberType Name As String Number As String Comment As String Groups As String End Type Public PhoneBook() As PhoneNumberType Public Sub Sort(ByRef SortArray() As PhoneNumberType, ByVal UBArray As Integer) Dim TempSwap As PhoneNumberType Dim i As Integer Dim j As Integer Dim Counter As Integer For i = 0 To UBArray If UCase(SortArray(i).Name) = "" Then Counter = Counter + 1 For j = 0 To UBArray If UCase(SortArray(j).Name) > UCase(SortArray(i).Name) Then TempSwap = SortArray(i) SortArray(i) = SortArray(j) SortArray(j) = TempSwap End If Next Next j = 0 For i = Counter To UBArray TempSwap = SortArray(j) SortArray(j) = SortArray(i) SortArray(i) = TempSwap j = j + 1 Next End Sub |