[ arsa x @ 25.08.2003. 12:57 ] @
Kako da napravim arraylist u kojoj cu da imam isto arraylist kao elemente.
Takodje trebam da pristupim preko indexa tim arraylist elementima.
Nesto sam uradi al to neradi.

Code:

i,a su integeri
Pozicije,PozicijeRtf su Arraylist

For 
.... 
  Pozicije.Add(i)
...
Next

PozicijeRtf(a).Add(Pozicije)
[ Dragi Tata @ 25.08.2003. 18:54 ] @
Treba ti dvostruka petlja. U spoljnoj generišeš Pozicije i dodaješ ih u PozicijeRtf a u unutrašnjoj dodaješ brojeve u trenutnu poziciju.
[ degojs @ 25.08.2003. 19:07 ] @
Dim GlavnaLista As ArrayList = New ArrayList
Dim SporednaLista As ArrayList = New ArrayList

Sad npr. dodajemo neke celobrojne vrednosti u sporednu listu:

SporednaLista.Add(14)
SporednaLista.Add(27)
SporednaLista.Add(39)

I onda tu sporednu listu dodamo u glavnu listu:

GlavnaLista.Add( SporednaLista )

Pristupamo toj sporednoj listi ( Item(0) ), i njezinom 2. elementu ( Item(1) ):

Dim x As Integer = Ctype(GlavnaLista.Item(0), ArrayList).Item(1)

Eto.

Naravno možeš da napraviš i nešto tipa:

Dim GlavnaLista As ArrayList = New Arraylist
Dim SporednaLista(50) As ArrayList

SporednaLista(0) = New ArrayList
SporednaLista.Add(11)
SporednaLista.Add(17)
GlavnaLista.Add( SporednaLista(0) )

SporednaLista(1) = New ArrayList
SporednaLista.Add(50)
SporednaLista.Add(51)
SporednaLista.Add(52)
GlavnaLista.Add( SporednaLista(1) )
...
i onda npr:

Dim x As Integer = Ctype ( GlavnaLista.Item(1), ArrayList).Item(2)

daje 52.

Ima tu dosta rešenja..

Preporučeno slušanje: Allanis Morrissette - Jagged Little Array :)))

[ arsa x @ 25.08.2003. 21:53 ] @
problem je znaci sto sam stavio

GlavnaLista(a).Add( SporednaLista )
umesto
GlavnaLista.Add(SporednaLista)

Ovaj slucaj sa

Dim GlavnaLista As ArrayList = New Arraylist
Dim SporednaLista(50) As ArrayList
...

To mi treba samo obrnuto
Znam broj elemenata Glavne liste
Mislim da cu se snaci
Dali je moguce iskoristiti hashtable



[ degojs @ 25.08.2003. 22:19 ] @
Citat:
To mi treba samo obrnuto
Znam broj elemenata Glavne liste


Hmm.. pazi nema potrebe da znaš broj elemenata glavne liste. U tu listu ti dodaješ sporedne liste, koliko god da ih ima. Nema potrebe ni da znaš koliko elemenata će da ima neka sporedna lista.

Dim SporednaLista(49) As ArrayList

ovim deklarišemo niz od 50 ArrayList-a A NE GOVORIMO da će lista imati 50 elemenata!!! Bitna razlika! Svaka od tih 50 lista može imati proizvoljan broj elemenata. Npr.
SporednaLista(0).Add(17)
SporednaLista(0).Add(27)
SporednaLista(1).Add(47)
SporednaLista(1).Add(157)
SporednaLista(1).Add(117)


Ovde smo u prvu listu dodali 2 cela broja, a u drugu 3 cela broja.. a možemo koliko hoćemo - i koristimo liste zato što ne znamo unapred broj elemenata u tim sporednim listama.
Kad završimo dodavanje u neku sporednu listu, onda je dodajemo u GlavnuListu:
GlavnaLista.Add( SporednaLista(0)) ' prvu sporednu listu koja ima 2 elementa (17 i 27) dodajemo u glavnu listu
GlavnaLista.Add( SporednaLista(1)) ' drugu sporednu listu koja ima 3 elementa (47, 157 i 117) dodajemo u glavnu listu

I tako dalje i tako dalje.. svaku sporednu listu dodamo u glavnu.

Nemoj da mešaš nizove i ArrayList.
[ arsa x @ 26.08.2003. 00:03 ] @
Sad sam totalno ukapirao ali verovatno nisam bio jasan od posetka.
Citat:

Hmm.. pazi nema potrebe da znaš broj elemenata glavne liste.

Znam unapred broj elemenata Glavne Arrayliste - moram na tacno odredjen index da ubacujem sporedne arrayliste.

Verovatno sam pogresio i nejasno izneo problem. u tom slucaju koristiti niz umesto glavne arrayliste.

Inace cela ova prica je zbog coda koji koristim za merdzovanje rtf texta.
Postovao sam skoro u vezi toga skripta koju sam naso na netu je dobra :) ali ima jedan bag :( . Prica je dugacka skraticu:

Code:

For lngAllFonts = 0 To plngDefCount - 1
   With pfdDefs(lngAllFonts)
      strRichText(.Index) = Replace(strRichText(.Index), "\f" & .FontID, "\f" & .NewID)
   End With
Next


Desava se npr da \f0 zameni sa \f1 a zatim u sledecem prolazu \f1 zameni sa f0
(sto naravno pobrka fontove)

Moram zapamtiti za n-ti (.index) rich text indexe na kojima su promene izvrsene.
I neponavljati ih na tim mestima.

strRichText.lenght pokazuje kolko ima richtext-ova.
I to mi je ujedno dimenzija glavnog arraylist ili niza....
[ arsa x @ 28.08.2003. 01:03 ] @
Citat:

Dim SporednaLista(49) As ArrayList

ovim deklarišemo niz od 50 ArrayList-a A NE GOVORIMO da će lista imati 50 elemenata!!! Bitna razlika! Svaka od tih 50 lista može imati proizvoljan broj elemenata. Npr.
SporednaLista(0).Add(17)
SporednaLista(0).Add(27)
SporednaLista(1).Add(47)
SporednaLista(1).Add(157)
SporednaLista(1).Add(117)


Didao sam posle Dim...

For i=0 to 49
SporednaLista(i) = New ArrayList()
Next
Dali ima neka caka ili mora ovako...?

Tek sad vidim da ustvari meni ovo zavrsava posao

[ degojs @ 28.08.2003. 05:40 ] @
Mislim da moraš tako.