Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Liste, kolekcije or something else

[es] :: Pascal / Delphi / Kylix :: Liste, kolekcije or something else

[ Pregleda: 3757 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.som.sezampro.yu

Sajt: www.activecollab.com


+1 Profil

icon Liste, kolekcije or something else24.06.2003. u 01:41 - pre 253 meseci
Naisao sam na manji problem... Naime, potrebna mi je struktura koja ce cuvati podatke o prikljucenim bibliotekama. Ovako:

Lista stranica
-- property PageName
-- property Libs

Lista Libs
-- property LibName
-- property LibPath
-- property ImgPath
-- itd

Srpski receno, stavka liste kao svojstvo sadrzi drugi listu. Uradio sam klasu koristeci kolekcije. Objekat se uredno kreira i oslobadja, ali pri pokusaju insertovanja javi AccessViolation. Nazalost, taj kod vise nemam posto sam se razbesne i obrisao ga =[

Kako ovo da resim? Ako imate neki SRC postujte...
http://www.activecollab.com - Alat za upravljanje projektima
 
Odgovor na temu

CandyMan

Član broj: 3420
Poruke: 147



+49 Profil

icon Re: Liste, kolekcije or something else24.06.2003. u 15:39 - pre 253 meseci
Rad sa kolekcijama bih voleo da vidim - informativno. Hvala!
Nisam ni znao da znam dok nisam prob'o!
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Liste, kolekcije or something else25.06.2003. u 18:05 - pre 253 meseci
Nije trebalo da brises kod; da si ga sacuvao, trazio bih ti samo da vidim deklaracije klasa i implementacije konstruktora. Nije to nesto tesko za pisanje, mada ima posla.
Primer source-a? Pa VCL je pun klasa izvedenih od TCollection-a i TCollectionItem-a. Odatle svako moze da nauci kako se to radi.
Pravi izazov je pisanje POLIMORFNOG kontejnera (TCollection to nije). Ali da se do toga dodje, mora se poznavati "u prste" klasa TList.
Ajde kreni ispocetka, pa gde zapnes, vici.
Pozdrav

Rajko
 
Odgovor na temu

mipko

Član broj: 11015
Poruke: 109
*.yubc.net



Profil

icon Re: Liste, kolekcije or something else27.06.2003. u 17:27 - pre 253 meseci
Sta podrazumevas pod polimorfnim kontejnerom ?
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.pexim.co.yu



+62 Profil

icon Re: Liste, kolekcije or something else30.06.2003. u 10:43 - pre 253 meseci
Elem...TCollection je kontejner klasa napravljena tako da u svojoj listi sadrzi instance jedne te iste klase (recimo klase A); ne postoji nacin da dodas bilo sta drugo u tu listu.
Polimorfnoi kontejner bi trebalo da omoguci dodavanje klase A1, A2, A3, gde su, recimo, A1 i A2 izvedene od A, A3 izvedena od A1 itd. itd. Drugim recima, svi itemi (instance objekata) u polimorfnom kontejneru su naslednici (descendenti) neke osnovne klase A.
E sad, kako se pristupa tom sarenilu od objekata? Kao i u TCollection-u: preko array propertija Items[] tipa klase A.
Kako fukcionise raznolikost tih objekata? Tako sto klasa A ima u sebi dosta virtuelnih metoda, koje njeni descendenti override-uju. Pa sad banalan primer: recimo da u petlji pozivas ovako nesto

for i := 0 to MyContainer.Count-1 do
MyContainer.Items.Go;

Neka je metoda A.Go virtuelna; svaki descendant je override-uje (napravi svoju verziju iste). Dobijes to, da ce recimo Items[0] koji je klase A1 da "hoda", Items[1] koji je A2 ce da "leti", A3 ce recimo da "pliva" itd.
Da li sam ti predocio moc OOP-a i makar malo priblizio pojam polimorfnog kontejnera?
Poz

Rajko
 
Odgovor na temu

Ilija Studen
Novi Sad

Član broj: 3864
Poruke: 859
*.beotel.net

Sajt: www.activecollab.com


+1 Profil

icon Re: Liste, kolekcije or something else30.06.2003. u 15:31 - pre 253 meseci
Posto cele nedelje nisam bio kuci nisam mogao da uradim nista. Juce sam dosao i napravio to sto mi treba... Nije zasnovano na onom principu koji sam ranije koristio. Sada se koristi jedna kolekcija koja cuva podatke o modulu i klasa TPage koja cuva kolekciju i naziv stranica. Objekti klase TPage se dodaju listi klase TObjectList uz adekvatne konverzije pri upisivanju i citanju... Greske sigurno postoje posto je kod napisan za manje od sat vremena (ono sto meni treba radi ko sat).

Ovom prilikom saljem source posto sam video da ima interesovanja za njim... Takodje, iskusniji programeri nek pogledaju kod i nek mi kazu gde gresim i kako bi se postojeca klasa/e mogla/e unaprediti...
http://www.activecollab.com - Alat za upravljanje projektima
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Liste, kolekcije or something else

[ Pregleda: 3757 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.