[ PavleBgd @ 14.09.2006. 20:38 ] @
Da li postoji implementacija C++ tree-a koja omogucava kreiranje tree-a sa 1...N grana, 1...N podragana(koja opet moze imati 1...N podragana, a te podgrane opet 1...N podragana, dakle bilo koja grana moze da ima neogranicen broj podragana odn. dubina grane) i koja ima 1...N clanova u bilo kojoj od grana ili podgrana? Nadam se da nisam suvise zakomplikovao pitanje
[ X Files @ 14.09.2006. 21:45 ] @
Sta konkretno hoces da uradis?

http://root.cern.ch/root/html/TTree.html
http://www.codeproject.com/Purgatory/Simple_STL_tree.asp
http://root.cern.ch/root/html/TTree.html
[ PavleBgd @ 15.09.2006. 16:41 ] @
Citat:

Sta konkretno hoces da uradis?


Pokusavam da napravim sastavnicu (delovi sistema). Sastavnica bi potrebne podatke citala iz baze.

http://tolweb.org/Terrestrial_Vertebrates/14952 - ovakva funkcionalnost tree-a

http://tolweb.org/Eutheria/15997- slicno, samo se sada prati druga grana



TTree klasa mi se cini ozbiljnom(tek sam poceo da se upoznajem sa njom), mada jos uvek ne znam da li mi ona moze omoguciti ovakvu funkcionalnost.
Prvi put se srecem i sa root bibliotekom klasa. Da li mi mozes nesto vise reci o njoj, da li se moze kompajlirati u VC++?
Pozdrav
[ X Files @ 17.09.2006. 20:49 ] @
Ako sam te dobro razumeo tebi treba klasa koja ce GRAFICKI da predstavi drvo?


[ Duke Nukem @ 17.09.2006. 21:07 ] @
Da li to neko studira masinstvo

Proizvodni sistemi ???

prof. Pavao Bojanic ???

ako je sve ovo true a izgleda da jeste
bez sekiracije ovo je x kada lim x -> Google puta sazvakano

Tebe svakako interesuje binarno drvo ( Algoritmi u progrmskom jeziku C Mikro knjiga )
prostudiraj (ako hoces)
ali ti je MNOGO jednostavnije da problem resis primenom relacionih baza podataka
a onda nekim sql om izburgijas kolicinske, strukturne ili kakve vec bejahu sastavnice ....

Zadaj sebi najvise ciljeve :)

[ PavleBgd @ 19.09.2006. 18:19 ] @
Citat:
Ako sam te dobro razumeo tebi treba klasa koja ce GRAFICKI da predstavi drvo?


Potrebno mi je da interno organizujem podatke u hijerarhijskom obliku, graficki i nije toliko bitno. Idealno bi bilo kada bi iteratorima mogao da se krecem gore-dole kroz takvu strukturu i eventualno vrsim pretragu clanova po nekom kriterijumu, ali i svako drugo resenje je OK.

Citat:

Da li to neko studira masinstvo

Proizvodni sistemi ???

prof. Pavao Bojanic ???


Prenecu informaciju kolegi koji je sa masinskog fakulteta, bice sigurno prijatno iznenadjen :)
Hvala za savet u vezi BSP-a.
Pozdrav
[ X Files @ 19.09.2006. 18:48 ] @
Ako ti 'tree' treba samo za smeštanje i osnovnu funkcionalnost, pogledaj ovde:
http://www.aei.mpg.de/~peekas/tree/
http://www.codeproject.com/cpp/treedata_class.asp
Siguran sam da ce ti pomoći.

Kada je u pitanju sam Windows, TTreeView, CTreeView su klase koje na standardan
GUI nacin sve to podrzavaju, kao u Exploreru - vidi se sta cemu pripada.

Borlandov TTreeView (pretpostavljam da je slicno i kod CTreeView) ima metodu
LoadFromFile(), pri cemu fajl treba da je formatizovan otprilike ovako i cela GUI
struktura se formira 'sama od sebe':


Jedan
JedanJedan
JedanJedanJedan
JedanDva
JedanDvaJedan
JedanTri
Dva
DvaJedan
Tri
TriJedan


Takodje, prikacicu ti i jedan tutorijal (koji je doduse za BCB, ali posluzice ti, videces)
da se upoznas sa nekim pojmovima kao sto je Sibling, itd. Ima puno korisnog koda
kada je u pitanju dodavanje, pretrazivanje i sl.
[ Duke Nukem @ 24.09.2006. 18:55 ] @
Pitanje vezano za TTreeView

kako naci i pozicionirati se na TTreeNode po imenu (Stringu dodeljenom TTreeNode u )

na primer iz gornjeg stabla: Find "DvaJedan" i vrati njegov index ili ga selektuj ili obadva
[ Duke Nukem @ 24.09.2006. 20:29 ] @
izvinjavam se sto sam postavio ovako glupo i jednostavno pitanje (premor )

za kaznu evo i odgovora
Code:

int ReturnIndex ( AnsiString s)
 {
  TTreeNode * n;
   for(int i = 0; i < TreeView1->Items->Count; i++)
   {
      n= TreeView1->Items->Item[i];
      if (n->Text== s)        return (n->Index); // tu je  
   }
     return -1; // nema takvog
 }
[ X Files @ 24.09.2006. 20:30 ] @
Probaj nesto ovako /netestirano/

Code:

TTreeNode* FindNode( TTreeNode* pNode, const AnsiString& TextToFind )
{
   while ( pNode )
   {
      if ( pNode->Text == TextToFind )
         return pNode;
      pNode = pNode->GetNext();
   }
   return NULL;

}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   TreeView1->Selected = FindNode( TreeView1->Items->GetFirstNode(), Edit1->Text );
   TreeView1->SetFocus();
}

[ X Files @ 24.09.2006. 20:39 ] @
Citat:

return (n->Index)

Misliš, AbsoluteIndex ?

P.S.

U kodu koji sam ti poslao, prvi argument FindNode (ako ga postavis) trazi od tog cvora pa na nize.
[ Duke Nukem @ 27.09.2006. 09:57 ] @
u pravu si
u pitanju je lapsus

treba koristiti prop. AbsolutIndex