eccomi qua di nuovo!!
mi trovo difronte ad un altro problema! ho cercato su internet ho trovato millemila soluzioni ma nessuna ha funzionato!!
dunque sono sempre alle prese con il mio player audio e mi sono accorto che quanto importo una cartella con dei file audio, si tira dentro qualsiasi file, quindi .jpg, .txt e via dicendo, per evitare questo ho messo
Dialog.Filter = ["*.mp3; *.ogg", "Audio Files"]
ma a quanto pare non funziona!!
come posso fare per fare in modo che quando importo una cartella lui tiri dentro solo .mp3 e .ogg?
Ciao, la sintassi corretta dovrebbe essere:
Dialog.Filter = [("*.mp3; *.ogg"), "Audio Files"]
Ciao.
Ma in che modo prelevi i file? Con un dialog?
infatti la sintassi corretta è così:
Dialog.Filter = [ "*.mp3;*.ogg", "Audio files"]
@Ceskho: ora con il tuo codice quando importo un file singolo mi visualizza correttamente solo .mp3 e .ogg
e uno risolto!!
però quando importo una cartella continuo ad avere il problema che si tira dentro tutto!
si utilizzo un dialog, precisamente un dialog.SelectDirectory!
non è che magari devo controllare l'estensione dei file dopo?
tipo una volta selezionata la cartella potrei mettere in un array di stringhe tutto il contenuto con
stringa[]=dir(dialog.path)
e poi con la funzione Right vado controllare elemento per elemento l'estensione del file!!
può funzionare o c'è un modo più rapido?
Innanzitutto sono contento che il codice funzioni...alle volte gli errori più banali ci tengono fermi giorni e giorni..capita molto spesso....
Il discorso tra Dialog e Dialog cambia. Infatti selezionare un file non è come selezionare una cartella...la cartella non riconosce estensione...ma tranquillo, risolvere il problema è facile..
Ecco il codice..provalo...dovrebbe funzionare...
DIM file_estratto AS String
IF Dialog.SelectDirectory() THEN RETURN
FOR EACH file_estratto IN Dir(Dialog.Path)
IF file.ext(file_estratto) = ".mp3" OR file.ext(file_estratto) = ".ogg" THEN
PRINT file_estratto
END IF
NEXT
In pratica selezioni una cartella e scrive nel terminale solo i file mp3 o ogg....
Il codice dovrebbe funzioanare ma per ora non ti assicuro niente perchè non l'ho testa...provalo e fammi sapere
ho provato una cosa di questo tipo
DIM listfile as String[]
IF Dialog.SelectDirectory() THEN RETURN
listfile = Dir(Dialog.Path)
FOR i = 0 TO (listfile.Count - 1)
extension = Right(listfile[i], 4)
IF extension = ("mp3" OR "ogg") THEN
ListView1.Add(i, folder & "/" & listfile[i])
ENDIF
NEXT
right mi restituisce effettivamente l'estensione; ho provato con una message.info e mi restituisce o mp3 o ogg, senza il punto, è solo che poi non mi aggiunge niente nella listview!!
dove sbaglio?
AGGIORNAMENTO:
ho risolto da solo :-D
sbagliavo la condizione, era
IF extension = "ogg" OR IF extension = "mp3" THEN
:pint: