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

Cd ne stigne da mi ucita fajlove

[es] :: Visual Basic 6 :: Cd ne stigne da mi ucita fajlove

[ Pregleda: 2823 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
*.ptt.yu

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon Cd ne stigne da mi ucita fajlove03.10.2002. u 10:47 - pre 262 meseci
Kada treba nesto vise da radimo sa fajlovima na CD-u (da ih renderujem) CD ne stigne da mi procita sve fajlove na vreme, program zakuca i dobijem bazu koja se pravi od tih podataka pogresnu. Kada idem izvrsavanje step-by-step sve ide u redu. Onda sam pokusao da dodam besmislenu petlju "for i" da bi oduzeo vreme kompu i dao CD Rom-u. To nije radilo na manjem broju ponavljanja te petlje, ali kada sam povecao radi, ali ide strasno sporo! Ta petlja mi i ne odgovara posto nemaju svi istu brzinu CD Rom-a. Gde je greska!
Hvala
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Cd ne stigne da mi ucita fajlove04.10.2002. u 23:14 - pre 262 meseci
Meni ova petlja vrsi pos'o :

For i = 0 To File1.ListCount - 1

Set mediacontrol = Nothing
Set audio = Nothing
Set pozicija = Nothing

Set mediacontrol = New FilgraphManager
mediacontrol.RenderFile ("f:\" & File1.List(i))
Set audio = mediacontrol
Set pozicija = mediacontrol

Debug.Print (i + 1) & _
" " & _
(pozicija.Duration \ 60) & ":" & (pozicija.Duration Mod 60) & _
" " & _
File1.List(i)

Next

Postoji tu jedan drugi problem. Media Player vraca pogresan duration za VBR (variable bit rate) mp3. Nacin za dobijanje duzine pesme kod VBR mp3 fajlova je prilicno slozen postupak, posto moras da poznajes strukturu VBR header-a itd.

Pozdrav
fire, walk with me
 
Odgovor na temu

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
*.ptt.yu

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon Re: Cd ne stigne da mi ucita fajlove05.10.2002. u 21:54 - pre 262 meseci
Ne pomaze, i moj je kod bio isti. Pokusacu da radim odvojeno poslove posto ja ne znam kako on ucita to ali ja dobijem (posto to ubacujem u Record pesma, koji ima pesma.ime, pesma.velicina ...) poruku (kada probam da ucitam to) "Bad Record Lenght". Koristim brojac da bi se prebacio na kraj fajla (ucitavam record-e While Not EOF) i taj brojac, kada pukne program, ima neku ogromnu vrednost, preko 30000. Kako da se prebacim na kraj fajla bez toga, posto ne znam koliko record-a imam?
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
*.ptt.yu

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon Re: Cd ne stigne da mi ucita fajlove06.10.2002. u 10:38 - pre 262 meseci
Option Explicit
Dim mediacontrol As IMediaControl
Dim pozicija As IMediaPosition
Dim audio As IBasicAudio
...
Private Type Pesma
ime As String
velpesme As Long
putanja As String
ImeCD As String
duzinatrajanja As Double
End Type
Dim pes As Pesma
Dim Temp As Pesma
...
Private Sub ucitaj()
Set mediacontrol = New FilgraphManager
Set audio = mediacontrol
Set pozicija = mediacontrol
Open App.Path & "\Katalog.dat" For Random As #1
j = 0
Do While Not EOF(1)
Get #1, , Temp
j = j + 1
Loop
If j = 1 Then j = 0

For i = 0 To File1.ListCount - 1
pes.ime = File1.List(i)
pes.putanja = File1.Path
pes.ImeCD = odgovor
If Right$(pes.putanja, 1) <> "\" Then putanj = pes.putanja_
& "\" & pes.ime Else: putanj = pes.putanja & pes.ime
pes.velpesme = FileLen(putanj)
Set mediacontrol = Nothing
Set audio = Nothing
Set pozicija = Nothing
Set mediacontrol = New FilgraphManager
mediacontrol.RenderFile (putanj)
Set audio = mediacontrol
Set pozicija = mediacontrol
pes.duzinatrajanja = pozicija.Duration

Put #1, j + i + 1, pes
Next i
Close #1
End Sub
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Cd ne stigne da mi ucita fajlove07.10.2002. u 19:44 - pre 262 meseci
Prvo moras da izmenis neke deklaracije, tj. da podesis stringove na 'fiksnu' duzinu, a u komandi Open specificiras duzinu sloga :

Open App.Path & "\Katalog.dat" For Random As as #1 len = len(pes)

Evo predloga za izmene u deklaraciji tipa Pesma, a ti vidi kako bi bilo najbolje za tvoje potrebe :

Private Type Pesma
ime As String *30
velpesme As Long
putanja As String *80
ImeCD As String *30
duzinatrajanja As Double
End Type

Broj slogova u otvorenom fajlu je:
lof(1)/len(pes)

znaci, na kraj fajla se 'prebacas' recimo ovako :
put #1, lof(1)/len(pes)+1, pes

Kad uradis ovo idemo dalje, ako je potrebno.

fire, walk with me
 
Odgovor na temu

markoub
Marko Milosevic
Ub

Član broj: 5369
Poruke: 87
195.252.103.*

ICQ: 137081567
Sajt: markoub.myboard.info


Profil

icon Re: Cd ne stigne da mi ucita fajlove07.10.2002. u 21:19 - pre 262 meseci
Radi! Sad imam problem: sta ako je putanja ili ime pesme vece od onog koliko ja mogu da zabelezim? Nije problem u prikazivanju, nego u tome sto program posle treba sve te pesme da iskopira na HD. Postojili jos neka funkcija sem FileCopy koja bi kopirala i fajl ove kojima adresa pocinje kao ona koju ja imam zabelezenu?

Imam jos jedan problem: kako da ucitam u bazu pesme sa Audio CD-a i kako da ne prepisujem pesme jednu preko druge?
Hvala.
Bolje zivjeti sto godina u bogatstvu, nego dvije u siromastvu!
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: Cd ne stigne da mi ucita fajlove07.10.2002. u 22:58 - pre 262 meseci
Moj predlog je da uopste ne belezis putanju u bazu.

Za kopiranje te nisam razumeo (mada verovatno postoji jos neka API funkcija), a za duplikate jednostavno proveri da li pod tim nazivom vec postoji neka pesma u bazi, pa na osnovu toga vrsi upis/brisanje ili sta vec.

Za audio cd ne znam.
fire, walk with me
 
Odgovor na temu

[es] :: Visual Basic 6 :: Cd ne stigne da mi ucita fajlove

[ Pregleda: 2823 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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