Avatar billede martin_moth Mester
28. maj 2002 - 20:00 Der er 4 kommentarer og
1 løsning

Array af obejkter

Hej

Jeg har en collection af objekter. Af hængigt af disses egenskaber skal de sorteres på en bestemt måde. Det vil jeg gøre ved at løbe igennem samtlige objekter i min collection, læse det enkelte objekts egenskaber, og afhængig af disse tildele en bestemt plads i et array af objekter.

Herefter vil jeg fjerne alle mine objekter i collectionen, og indlæse dem igen fra arrayet, hvor de nu er i sorteret orden, altså:

For each MyObject in MyCollection
  bla bla (udregn pladsnummer i array)
  Array(pladsnummer) = MyObject
Next

Herefter fyldes MyCollection så med de sorterede MyObjekter

for i = lBound(Array) to UBound(Array)
  MyCollection.remove i
  MyCollection.add Array(i)
next i

Mit problem er:

Hvordan erklærer man et array af MyObject?

Jeg har prøvet med dim Array(x to y) as MyObject, Array(x to y) as Object, Array(x to y) as MyCollection osv. Men det virker ikke. Hvad gør man?
Avatar billede jespernaur Nybegynder
28. maj 2002 - 20:47 #1
Hvad med en lidt anderledes fremgangsmåde, hvor du sorterer itemnumre i
stedet for objektreferencer, og ender med at skabe en separat
ny collection i den korrekte rækkefølge. Noget i retning af:

dim Array(MyCollection.Count) as integer

for i = 1 to MyCollection.Count
  set MyObject = MyCollection.Item(i)
  bla bla udregn pladsnummer for MyObject
  Array(pladsnummer) = i
next

for i = 1 to MyCollection.Count
  set MyObject = MyCollection.Item(Array(i))
  MyCollectionSorted.Add MyObject
next

Mvh
Jesper Naur
Avatar billede martin_moth Mester
28. maj 2002 - 22:27 #2
Dit svar virker udemærket. Men nu har jeg irrereteret mig over, at jeg ikke kan finde ud af at erklære et array af objekter fra et classmodule, jeg selv har defineret. Ved du hvordan det gøres (du skal nok få dine point ;o)
Avatar billede jespernaur Nybegynder
28. maj 2002 - 23:00 #3
Jeg ved det faktisk ikke, det var derfor jeg fandt på ovennævnte metode.

For længe længe siden var jeg lidt med i flg spm:

    http://www.eksperten.dk/spm/51105

Det kom der heller aldrig en ordentlig løsning på.

Mvh
Jesper Naur
Avatar billede martin_moth Mester
29. maj 2002 - 00:49 #4
øv!

Men du får dine point alligevel, da din alternative løsning jo fungerer fint. Jeg må snarest stille et nyt spørgsmål : "Kan man lave et array med objekter, man selv har defineret ud fra et classmodule?"...

/Martin
Avatar billede ocp Nybegynder
29. maj 2002 - 10:01 #5
Det kan vist ikke lade sig gøre at erklære et array med en objekttype, men mon ikke man kan lægge objekter i alligevel hvis man erklærer det som variant?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester