Du kan ligge dem ind i et array og så bruge en function som kan sortere et array:
<%
sub SortArray(arrToSort) Dim arrWork Dim intOuterIndex, intInnerIndex, intSmallestIndex Dim varTemp arrWork = arrToSort For intOuterIndex = 0 To UBound(arrWork) intSmallestIndex = intOuterIndex For intInnerIndex = intOuterIndex To UBound(arrWork) If isNumeric(arrWork(intInnerIndex)) and isNumeric(arrWork(intSmallestIndex)) Then If Cdbl(arrWork(intInnerIndex)) < Cdbl(arrWork(intSmallestIndex)) Then intSmallestIndex = intInnerIndex End If ElseIf arrWork(intInnerIndex) < arrWork(intSmallestIndex) Then intSmallestIndex = intInnerIndex End If Next If intSmallestIndex <> intOuterIndex Then varTemp = arrWork(intOuterIndex) : arrWork(intOuterIndex) = arrWork(intSmallestIndex) : arrWork(intSmallestIndex) = varTemp End If Next for x=0 to ubound(arrWork) arrToSort(x) = arrWork(x) next End sub
function fnSort(aSort, intAsc) Dim intTempStore Dim i, j For i = 0 To UBound(aSort) - 1 For j = i To UBound(aSort) 'Sort Ascending if intAsc = 1 Then if Cint(aSort(i)) > Cint(aSort(j)) Then intTempStore = aSort(i) aSort(i) = aSort(j) aSort(j) = intTempStore End if 'i > j 'Sort Descending Else if Cint(aSort(i)) < Cint(aSort(j)) Then intTempStore = aSort(i) aSort(i) = aSort(j) aSort(j) = intTempStore End if 'i < j End if 'intAsc = 1 Next 'j Next 'i fnSort = aSort End function 'fnSort '------------------------- Dim aUnSort(5), aSorted aUnSort(0) = var1 aUnSort(1) = var2 aUnSort(2) = var3 aUnSort(3) = var4 aUnsort(4) = var5 'call the function 'second argument: ' * ascending sorted = 1 ' * descending sorting = any other chara ' cter aSorted = fnSort(aUnSort, 1) Erase aUnSort
sub SortArray(arrToSort) Dim arrWork Dim intOuterIndex, intInnerIndex, intSmallestIndex Dim varTemp arrWork = arrToSort For intOuterIndex = 0 To UBound(arrWork) intSmallestIndex = intOuterIndex For intInnerIndex = intOuterIndex To UBound(arrWork) If isNumeric(arrWork(intInnerIndex)) and isNumeric(arrWork(intSmallestIndex)) Then If Cdbl(arrWork(intInnerIndex)) > Cdbl(arrWork(intSmallestIndex)) Then intSmallestIndex = intInnerIndex End If ElseIf arrWork(intInnerIndex) > arrWork(intSmallestIndex) Then intSmallestIndex = intInnerIndex End If Next If intSmallestIndex <> intOuterIndex Then varTemp = arrWork(intOuterIndex) : arrWork(intOuterIndex) = arrWork(intSmallestIndex) : arrWork(intSmallestIndex) = varTemp End If Next for x=0 to ubound(arrWork) arrToSort(x) = arrWork(x) next End sub
function fnSort(aSort, intAsc) Dim intTempStore Dim i, j For i = 0 To UBound(aSort) - 1 For j = i To UBound(aSort) 'Sort Ascending if intAsc = 1 Then if Cdbl(aSort(i)) > Cdbl(aSort(j)) Then intTempStore = aSort(i) aSort(i) = aSort(j) aSort(j) = intTempStore End if 'i > j 'Sort Descending Else if Cdbl(aSort(i)) < Cdbl(aSort(j)) Then intTempStore = aSort(i) aSort(i) = aSort(j) aSort(j) = intTempStore End if 'i < j End if 'intAsc = 1 Next 'j Next 'i fnSort = aSort End function 'fnSort '------------------------- Dim aUnSort(5), aSorted aUnSort(0) = var1 aUnSort(1) = var2 aUnSort(2) = var3 aUnSort(3) = var4 aUnsort(4) = var5 'call the function 'second argument: ' * ascending sorted = 1 ' * descending sorting = any other chara ' cter aSorted = fnSort(aUnSort, 1) Erase aUnSort
for i = 0 to 5 response.write aSorted(i) & "<br>" next %>
Du kan også gøre det sådan her hvor man med en parameter kan vælge DESC eller ASC:
sub SortArray(arrToSort, sort) Dim arrWork Dim intOuterIndex, intInnerIndex, intSmallestIndex Dim varTemp arrWork = arrToSort For intOuterIndex = 0 To UBound(arrWork) intSmallestIndex = intOuterIndex For intInnerIndex = intOuterIndex To UBound(arrWork) if lcase(sort) = "desc" then val1 = arrWork(intSmallestIndex) val2 = arrWork(intInnerIndex) else val1 = arrWork(intInnerIndex) val2 = arrWork(intSmallestIndex) end if If isNumeric(val11) and isNumeric(val2) Then If Cdbl(val1) < Cdbl(val2) Then intSmallestIndex = intInnerIndex End If ElseIf val1 < val2 Then intSmallestIndex = intInnerIndex End If Next If intSmallestIndex <> intOuterIndex Then varTemp = arrWork(intOuterIndex) : arrWork(intOuterIndex) = arrWork(intSmallestIndex) : arrWork(intSmallestIndex) = varTemp End If Next for x=0 to ubound(arrWork) arrToSort(x) = arrWork(x) next End sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.