Par C++ problemčića

poruka: 46
|
čitano: 6.648
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
moderator
offline
RE: Par C++ problemčića
NiGHT_RiDER92 kaže...
NiGHT_RiDER92 kaže...

Zna netko kako isprogramirati  za neki mp3 Player spremanje i ucitavanje pjesama (playlistu) ?

Iz ovog zbilja ne mogu zakljuciti o cemu tocno govoris.

Zahvaljujem!

Govorim o tome, sad recimo imam Mp3 Player, i TreeView komponentu koristim, ja zapravo hocu (recimo da imam datoteku koja se zove playlist) da iz nje procitam informacije koje mi trebaju i uvrstim ih u TreeView (recimo da procita sve naslove pjesama koji spadaju pod odredeni žanr, njihove pathove, itd... i uvrsti ih u TreeView) nadam se da sam bio jasniji.

Pa, onako... Govoris o playlisti kao da je to neki konkretni format datoteke. Pa valjda si znas napraviti datoteku s potrebnim podacima i onda iscitati podatke iz nje? Ili se mozes posluziti s nekim od formata koje koriste drugi programi - napravis si jednu playlistu u Winampu, spremis je (m3u datoteka), otvoris u notepadu da vidis koji je format datoteke i trebao bi iz toga moci dalje.

 

http://en.wikipedia.org/wiki/M3U

 

Poruka je uređivana zadnji put sub 25.9.2010 22:57 (mbaksa).
14 godina
neaktivan
offline
RE: Par C++ problemčića

Ma znam ja kreirati to, ali mi je problem procitati u uvrstiti.

U c++ bi ja htio da recimo za treeview node bude recimo žanr pjesme, a pod childove bi dodavao pjesme, i stvar je u tome da ja to neznam napravit,

probao sam i onda mi procita žanrove i nabaca ih bezveze, ili procita jedan zanr, uvrsti ga pod node, i onda sve "pjesme" stavi pod childove a ostali nodeovi ostanu prazni.

Zapravo je najveci problem da ja neznam u c++ procitat odredeni dio, recimo, naprimjer:

Pjesma1|C:\\media\pjesma1.mp3 - ja jednostavno neznam kako bi odvojio ova 2 dijela, znaci da "Pjesma1" prikaze u playeru , a path da koristi kod pokretanja.

Poruka je uređivana zadnji put sub 25.9.2010 23:09 (NiGHT_RiDER92).
16 godina
moderator
offline
RE: Par C++ problemčića

Stvarno ne znam gdje je tu neki posebni problem. Ocito ti je algoritam pogresan. Napisi na koji nacin to pokusavas napraviti.

 

Takodjer, ako uopce imas problema s koristenjem TTreeViewa, onda zasad zaboravi datoteke i dodaj pjesme i zanrove iz samog koda. Kad pohvatas stvari, onda kreni s datotekama.

 

 

BTW nista ti ne nabaca bezveze - nabaca ti upravo onako kako si mu naredio. Namigiva

16 godina
moderator
offline
RE: Par C++ problemčića
NiGHT_RiDER92 kaže...
Zapravo je najveci problem da ja neznam u c++ procitat odredeni dio, recimo, naprimjer:

Pjesma1|C:\\media\pjesma1.mp3 - ja jednostavno neznam kako bi odvojio ova 2 dijela, znaci da "Pjesma1" prikaze u playeru , a path da koristi kod pokretanja.

Pa to su osnove osnova. Trazis znak pipe (|) i znakovi lijevo od tog znaka su naziv pjesme (ili sto vec), a znakovi desno datoteka. Kod ucitavanja ti ne treba taj cijeli string, nego to drzis u dvije varijable (naziv, putanja ili sto vec). Za to ces vjerojatno morati dodavati objekte u TTreeView - objekte koji ce ti drzati recimo varijable naziv, putanja, zanr, trajanje. Dakle, u osnovi bi si trebao napraviti klasu Pjesma s tim varijablama.

14 godina
neaktivan
offline
RE: Par C++ problemčića

A inače sam vec izbrisao taj kod kad nije valjao ali mogu napisati sto sam pokusavao, znaci:

- napravio sam datoteku playlist.txt je bila i u njoj recimo piše:

 

*Techno glazba

D:\\glazba\\pjesma1.mp3|Pjesma1

D:\\glazba\\pjesma2.mp3|Pjesma2

D:\\glazba\\pjesma3.mp3|Pjesma3

 

*Metal

D:\\glazba\\pjesma4.mp3|Pjesma4

D:\\glazba\\pjesma5.mp3|Pjesma5

D:\\glazba\\pjesma6.mp3|Pjesma6

 

i ja sam sad htio da on procita *Techno glazba i *Metal i da to stavi kao Node a zatim da doda "Pjesma1" - "Pjesma6" pod odgovarajuci node kao sto je zapisano u datoteci, znaci izgledalo bi ovako u playeru:

 

-*Techno glazba

-Pjesma1

-Pjesma2

-Pjesma3

 

-*Metal

-Pjesma4

-Pjesma5

-Pjesma6

 

I ja nikako to nisam uspio napraviti, pokusavao sam s raznim petljama i uvjek je ovako ispadalo otprilike:

 

*Techno glazba

-Pjesma1

-Pjesma2

-Pjesma3

-Pjesma4

-Pjesma5

-Pjesma6

 

*Metal

->

->

->

 

Znaci pod prvi node sve ubaci a drugi ostane prazan i sad nikako to nemogu sloziti

 

14 godina
neaktivan
offline
RE: Par C++ problemčića

Da znam , koristio sam ja trazenje odredenog znaka ali opet nije bilo u redu, palo mi je to vec napamet, ali ocito premalo znam c++ za neke kompliciranije operacije...

16 godina
moderator
offline
RE: Par C++ problemčića
NiGHT_RiDER92 kaže...

Znaci pod prvi node sve ubaci a drugi ostane prazan i sad nikako to nemogu sloziti

Mislim da je stvar jasna ko dan i noc. Metodi AddChild kao argument uvijek dajes prvi dodani node, a ne zadnji dodani! Pa i sama metoda AddNode ti vraca pokazivac na zadnji dodani node - zasto to ne iskoristis?

16 godina
moderator
offline
RE: Par C++ problemčića
NiGHT_RiDER92 kaže...

Da znam , koristio sam ja trazenje odredenog znaka ali opet nije bilo u redu, palo mi je to vec napamet, ali ocito premalo znam c++ za neke kompliciranije operacije...

Pa nauci! Pa imas help od C++Buildera, ne? Pa pogledaj koje funkcije imas vezane uz stringove - vjerojatno ima i neki primjer koji ce ti pomoci.

14 godina
neaktivan
offline
RE: Par C++ problemčića

Ovo je bio otprilike kod koji sam koristio:

 

FILE*file;
char data[MAX_PATH];
file = fopen("D:\\playlist.txt","r");
while(fgets(data,MAX_PATH,file))
{
if(strchr(data,'*'))
{
TreeView1->Items->Add(NULL,data);
}

else
{
 TreeView1->Items->AddChild(NULL,data);
}

16 godina
moderator
offline
RE: Par C++ problemčića

FILE*file;
char data[MAX_PATH];
file = fopen("D:\\playlist.txt","r");

TTreeNode* aktivniZanr = NULL;

while(fgets(data,MAX_PATH,file)) {
    if(strchr(data,'*')) {
      aktivniZanr = TreeView1->Items->Add(NULL,data);
    } else {
       TreeView1->Items->AddChild(aktivniZanr,data);
    }
}

14 godina
neaktivan
offline
RE: Par C++ problemčića

Savršeno, inace ja sam par sekundi prije tebe napravio to isto ali obrnuto je ispisivalo:

Playlist1

Playlist2

u notepadu bi se ispisali kao Playlist2 i playlist1 u playeru, obrnuto:

 

FILE*file;
char data[MAX_PATH];
file = fopen("D:\\playlist.txt","r");
while(fgets(data,MAX_PATH,file))
{

if(strchr(data,'*'))
{
TreeView1->Items->AddFirst(NULL,data);
}
else
{
TreeView1->Items->AddChild(TreeView1->Items->Item[0],data);
}

 

16 godina
moderator
offline
RE: Par C++ problemčića

Jasno je zasto bi se zanrovi ispisivali obrnutim redoslijedom - zato jer si koristio AddFirst - znaci, zanr koji je blize kraju dodajes blize pocetku, zadnji zanr stavis na prvo mjesto.

14 godina
neaktivan
offline
RE: Par C++ problemčića

Aha kuzim sad, sad mi je sve jasnije, puno hvala, namucio sam se trazeci po netu valjda 2 sata to, ali nigdje nisam nista nasao sta bi mi pomoglo -.-

16 godina
moderator
offline
RE: Par C++ problemčića
mbaksa kaže...
NiGHT_RiDER92 kaže...

Da znam , koristio sam ja trazenje odredenog znaka ali opet nije bilo u redu, palo mi je to vec napamet, ali ocito premalo znam c++ za neke kompliciranije operacije...

Pa nauci! Pa imas help od C++Buildera, ne? Pa pogledaj koje funkcije imas vezane uz stringove - vjerojatno ima i neki primjer koji ce ti pomoci.

Nasao sam i online nesto: http://www.functionx.com/bcb/topics/strings.htm

Trebaju ti funkcije AnsiPos (pomocu nje pronadjes poziciju znaka | ) i SubString.

14 godina
neaktivan
offline
RE: Par C++ problemčića

Zahvaljujem na trudu ;)

14 godina
neaktivan
offline
Par C++ problemčića

Pozdrav evo mene opet, zanima me dali postoji neki način da se u C++ builderu customizira scrollbar (promjeni boja, širina) kod listboxa ili ukloni u potpunosti?

Moj PC  
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice