Code:
Set e3 = CreateObject( "CT.Application" )
Set prj = e3.CreateJobObject()
Set dev = prj.CreateDeviceObject()
Set cor = prj.CreatePinObject()
dim kennbuchstabe
kennbuchstabe=inputbox ("Kennbuchstabe eingeben:","Kennbuchstabe","Y")
dim startWert
startWert=inputbox ("Startindex eingeben:","Startindex","1")
e3.ClearOutputWindow
Class mySortClass
Dim x
Dim y
Dim item
End Class
Set myArrayList = CreateObject( "System.Collections.ArrayList" )
symcnt = prj.GetSelectedSymbolIds( symids )
For i = 1 to symcnt
dev.Setid symids(i)
e3.putInfo 0, dev.GetName() +""
dev.GetPanelLocation x, y, z, rot, piv
Dim obj
Set obj = New mySortClass
obj.x = x
obj.y = y
obj.item = dev.GetId()
myArrayList.Add obj
next
'BUBBLE IT!
Dim temp
for a = myArrayList.Count() - 1 To 0 Step -1
for j = 0 to a -1
if myArrayList(j).x > myArrayList(j+1).x then
Set temp = New mySortClass
temp.x = myArrayList(j+1).x
temp.y = myArrayList(j+1).y
temp.item = myArrayList(j+1).item
myArrayList(j+1)=myArrayList(j)
myArrayList(j)=temp
elseif myArrayList(j).x = myArrayList(j+1).x And myArrayList(j).y > myArrayList(j+1).y then
Set temp = New mySortClass
temp.x = myArrayList(j+1).x
temp.y = myArrayList(j+1).y
temp.item = myArrayList(j+1).item
myArrayList(j+1)=myArrayList(j)
myArrayList(j)=temp
end if
next
next
For i = 0 to myArrayList.Count() - 1
dev.Setid myArrayList( i ).item
e3.putinfo 0, myArrayList( i ).x & "|" & myArrayList( i ).y & "|" & myArrayList( i ).item & "|" & dev.GetName()
next
' Temporäres BMK vergeben
For i = 0 to myArrayList.Count() - 1
dev.Setid myArrayList( i ).item
dev.setName( "TEMP"& i+1 )
next
For i = 0 to myArrayList.Count() - 1
dev.Setid myArrayList( i ).item
dev.setName( kennbuchstabe& startWert+i )
next
Set prj = Nothing
Set dev = Nothing
Set cor = Nothing