Ett annat alternativ (dock lite minneskrävande) är att skapa ett disconnectat recordset, lägga in alla namn och använda dess sort-metod, det hela kommer antagligen att bli snabbare än att skriva en egen sorteringsfunktion.
Skönt att du valde den jobbigaste och långsammaste av dem. ;)
Själva sorteringslogiken är här:
if strComp(fNames(tName),fNames(nName),0)=1 then
buffer = fNames(nName)
fNames(nName) = fNames(tName)
fNames(tName) = buffer
end if
Där kollas det om det aktuella indexet binärvärde är större än det sktuella indexet+1s binärvärde. Om det är så knuffar den upp index+1 en placering högre upp.
Detta sker ju i en loop så att den går igenom alla index mot varandra.