Autore Topic: [risolto]usare correttamente dialog.filter  (Letto 1427 volte)

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
[risolto]usare correttamente dialog.filter
« il: 06 Gennaio 2010, 12:43:25 »
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

Codice: [Seleziona]
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?
il mio progetto -> SITO

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re: usare correttamente dialog.filter
« Risposta #1 il: 06 Gennaio 2010, 12:50:47 »
Ciao, la sintassi corretta dovrebbe essere:
Codice: [Seleziona]
 Dialog.Filter = [("*.mp3; *.ogg"), "Audio Files"]

Ciao.

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: usare correttamente dialog.filter
« Risposta #2 il: 06 Gennaio 2010, 12:58:40 »
niente da fare!!
quando importo una cartella si tira comunque dentro tutto quello c'è.

ho provato ad applicare la stessa sintassi anche per importare un file singolo e per qualche oscura ragione mi dà la possibilità di importare solo file .mp3, i .ogg non me li vede. :muro:
il mio progetto -> SITO

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: usare correttamente dialog.filter
« Risposta #3 il: 06 Gennaio 2010, 16:11:13 »
Ma in che modo prelevi i file? Con un dialog?

infatti la sintassi corretta è così:
Codice: [Seleziona]

Dialog.Filter = [ "*.mp3;*.ogg", "Audio files"]

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: usare correttamente dialog.filter
« Risposta #4 il: 06 Gennaio 2010, 16:22:39 »
@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
Codice: [Seleziona]
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?
il mio progetto -> SITO

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: usare correttamente dialog.filter
« Risposta #5 il: 06 Gennaio 2010, 16:33:56 »
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...
Codice: [Seleziona]

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

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: usare correttamente dialog.filter
« Risposta #6 il: 06 Gennaio 2010, 19:13:43 »
il problema è che io non lavoro con un file... cioè scelgo la cartella e poi importo i path (dialog.path) direttamente in una listview, mi sà che, nel mio caso, ha più senso la mia possibile soluzione perchè mi trovo a dover lavorare su stringhe e non direttamente sui file!
il mio progetto -> SITO

Offline luca1202

  • Gambero
  • **
  • Post: 95
    • Mostra profilo
    • http://luca1202.wordpress.com
Re: usare correttamente dialog.filter
« Risposta #7 il: 06 Gennaio 2010, 21:58:57 »
ho provato una cosa di questo tipo
Codice: [Seleziona]
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
Codice: [Seleziona]
IF extension = "ogg" OR IF extension = "mp3" THEN


 :pint:
il mio progetto -> SITO

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: [risolto]usare correttamente dialog.filter
« Risposta #8 il: 07 Gennaio 2010, 01:03:08 »
Non c'è bisogno di utilizzare il right per l'estensione...gambas propone File.Ext che restituisce l'estensione di un file anche se scritto completo di path...

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [risolto]usare correttamente dialog.filter
« Risposta #9 il: 20 Luglio 2010, 00:17:28 »
Grande Ceskho risolto molto semplicemente come dicevi tu. Quasi quasi stai diventando il mio mito   :2birre:
Matteo DoubleMM Mion

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: [risolto]usare correttamente dialog.filter
« Risposta #10 il: 20 Luglio 2010, 00:19:51 »
Grande Ceskho risolto molto semplicemente come dicevi tu. Quasi quasi stai diventando il mio mito   :2birre:

Dillo ad fsurfing così la notte piange mentre scrive sul diario che io sono migliore di lui....;D

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [risolto]usare correttamente dialog.filter
« Risposta #11 il: 20 Luglio 2010, 00:26:54 »
ho sbagliato post dovevo l'ho scritto su quello giusto, quello dove mi hai spiegato di usare dialog.
Matteo DoubleMM Mion