1° problema: volevo sapere se è possibile fare in modo che un bottone una volta premuto resti nello stato di premuto, in poche parole se un utente in un player audio schiaccia il bottone per la modalità shuffle il disegno del bottone rimane premuto ad indicare che è stato premuto (ma va? :-D).
Ho verificato tra le proprietà del bottone ma non mi pare ci sia niente del genere.
2°problema: sono sempre nel mio progetto del player audio e ho implementato la playlist con una listview, ovviamente quando in una listview ho più file audio quando uno termina deve passare all'elemento successivo, per fare questo ho inserito nella funzione che si occupa di gestire il timer uno spezzone di codice che dice che quando Music.Pos = 0 allora significa che lui deve passare all'elemento successivo, e l'ho implementato cosi:
IF Music.Pos = 0 AND IF REPEATS = FALSE THEN
ListView1.MoveBelow
timMusic.Enabled = FALSE
timMusic.Delay = 1000
timMusic.Enabled = TRUE
ListView1_Click
timMusic.Start
ENDIF
solo che quando faccio quel MoveBelow mi dice che l'elemento successivo è NULL (cosa non vera), ho provato anche con il metodo MoveNext ma il problema rimane lo stesso...
dove sbaglio?
1° problema >>non devi usare un button ma un togglebutton
2° prova con con
IF Music.Pos = 0 AND IF REPEATS = FALSE THEN
IF ListView1.index <> ListView1.Count - 1 THEN
ListView1.index = ListView1.index + 1
ELSE
ListView1.index = 0
ENDIF
timMusic.Enabled = FALSE
timMusic.Delay = 1000
timMusic.Enabled = TRUE
ListView1_Click
timMusic.Start
ENDIF
Prova con
IF Music.Pos = 0 AND IF REPEATS = FALSE THEN
IF ListView1.item.key <> ListView1.Count - 1 THEN
ListView1.movenext
ELSE
ListView1.movefirst
ENDIF
timMusic.Enabled = FALSE
timMusic.Delay = 1000
timMusic.Enabled = TRUE
ListView1_Click
timMusic.Start
END IF
potresti usare una listbox è molto più gestibile
in alternativa prova con:
IF Music.Pos = 0 AND IF REPEATS = FALSE THEN
IF ListView1.item.key <> ListView1.Count - 1 THEN
ListView1.item.MoveAfter
ELSE
ListView1.Item.MoveFirst
ENDIF
timMusic.Enabled = FALSE
timMusic.Delay = 1000
timMusic.Enabled = TRUE
ListView1_Click
timMusic.Start
END IF
quando carica la playlist salvata però mi mette tutto su una riga sola!!
non è che quando eseguo questa istruzione
ListBox1.List = Split(imported, "\n")
devo fare un ciclo?
si scusa ho sbagliato a copiarlo ma in realtà nel programma ho scritto bene!!
FOR EACH ListBox1.List
name = name & ListBox1.List[i]
INC i
NEXT
non è che magari dopo l'istruzione name=....
devo aggiungerne un'altra tipo name=name & "\n"
EDIT: ho provato a fare la modifica ed effettivamente adesso funziona correttamente!!
grazie per la dritta!!
ok ho risolto anche questo problema, metto [risolto] e vi ringrazio tutti ancora per la pazienza e il tempo che mi avete dedicato :2birre: