Может есть у кого готовая сортировка объектов по маске?
ThisObject.Content.Sort ThisObject.Content
При такой сортировке все проходит красиво, но например если наименование объектов идет так:
01 - абвгд
02 - абвгд
11- абвгд
100 - абвгд
то отсортирует как:
01- абвгд
100-абвгд
11-абвгд
02 - абвгд
или например:
1247/2
124711
1247/100
отсортирует
1247/1
1247/100
124711
1247/2
Прошу помочь в решении задачи
Вроде решил но через опу конечно же. Сделал массив из чисел по которым должна идти сортировка. Там где знаков в конце меньше трех дописал нули впереди.
Ну а дальше во время сортировки массива попутно делаю перестановку и объектов под темиже итеративными номерами.
Единственное сортировка вставками у меня кривая. Первый элемент массива считается отсортированным. Не могу догнать как сделать так чтобы сортировался и первый элемент
For i=1 To ThisObject.Content.Count-1
newElement = ArrObjNoNSI(i)
Set newObjElement = Thisobject.Objects(i)
location=i-1
Do While (location >= 1) and (ArrObjNoNSI(location) > newElement)
ArrObjNoNSI(location+1) = ArrObjNoNSI(location) 'тут перестановка
Coll.Swap Thisobject.Objects(location+1), Thisobject.Objects(location) 'переставляем объекты
Coll.Update
location=location-1
Loop
ArrObjNoNSI(location+1)=newElement 'тут перестановка
Coll.Swap Thisobject.Objects(location+1), newObjElement
Coll.Update
Next
ArrObjNoNSI - это массив изначально неотсортированых номеров взятых у объектов которые нужно сортировать.
При сортировке 5-10 объектов -все проходит довольно быстро. Если сортировать уже 150 объектов то TDMS вешается на полчаса