Newsgroup: it.comp.lang.visual-basic
Titolo: Mi spiegate dove sbaglio?

Dunque il mio scopo e' eseguire a una data ora una serie di file mp3
inseriti in una lista... io ho scritto
While Not (txtOra & ":" & txtMinuti) = (Hour(Time) & ":" & Minute(Time))
Wend
MMControl1.Notify = True
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.DeviceType = "mp3Audio"    'Me lo so inventato e' giusto????
For i = 0 To lstCanzoni.ListCount - 1
    lstCanzoni.Selected(i) = True
    MMControl1.FileName = lstCanzoni.Text
    MMControl1.Command = "open"
    MMControl1.Command = "play"
Next i
Mi chiedo come mai non esegua nulla!!! ma manco il primo file... e poi messa
cosi' mi sa che manco aspetta la fine del primo x iniziare il secondo... mi
potreste dare una mano? Mi spiegate dove modificarlo e xche???
Grazie!!!

 Wend
Il Wend va messo dopo la serie delle istruzioni che controlli col While.
Cosě potrebbe funzionare il tutto, ma non avresti capito perchč.
Ti consiglio di studiare un po' di teoria con F1

 Wend
Lasciamelo dire, pessima programmazione, almeno sotto Windows...:-))
Per prima cosa se crei un ciclo (tanto piu' se "lungo" in termini di tempo)
e' buona norma mettere "DoEvents", per rilasciare tempo di CPU agli altri
eventi:
While Not (txtOra & ":" & txtMinuti) = (Hour(Time) & ":" & Minute(Time))
    DoEvents
Wend
Pero' anche se non e' comunque questo il problema, c'e' un modo migliore per
attendere una determinata ora. Meglio creare un controllo Timer (che chiamo
ora Timer1), con intervallo 60000 (Timer1.Interval=60000 ossia 60 secondi, 1
minuto) ed abilitato (Timer1.Enabled=True). Quindi per attendere l'ora,
scrivi nell'evento Timer:
Sub Timer1_Timer ()
  If (txtOra & ":" & txtMinuti) = (Hour(Time) & ":" & Minute(Time))
    ' E' giunta l'ora!
    ' fai quello che devi fare...
  End If
End Sub
Passiamo all'mp3.
I controlli MCI di Windows non supportano gli mp3 per default, quindi non
puoi fare:
MMControl1.DeviceType = "mp3Audio"
Ti consiglierei eventualmente di vedere come inserire nel tuo progetto un
controllo Windows Media Player (non l'ho mai fatto, devi cercare un po' in
giro e/o su MSDN).
Ciao!-
--
   Alex Palmese
---
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/

 ha scritto nel messaggio
news:ablk6g$j0bge$1...@ID-61896.news.dfncis.de...


 ha scritto nel messaggio
news:46vD8.49093$US3.1...@twister1.libero.it...


 della canzone ma parte con quella successiva subito... senza aspettare...
Il MediaPlayer è asincrono, però è ben educato: ti avvisa quando ha finito,
come ha finito, se ci sono stati problemi e così via, gurdati gli eventi del
componente.
Puoi facilmente realizzare una funzione PlayNextMp3 che incrementa l'indice
della lista, legge il titolo e da il Play al MediaPlayer. Poi non fa
assolutamente nient'altro. Nell'evento _EndOfStream del Player puoi mettere
una nuova chiamata a PlayNextMp3. Probabilmente dovrai gestire il parametro
Result che indica l'esito del play, e altri eventi che forse sono ancora più
adatti al tuo caso, tipo _PlayStateChange. Insomma: come tutti i componenti
che lavorano in modalità asincrona, devi gestirti gli eventi.
Ciao, Silv:o)