Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - luca1202

Pagine: 1 ... 4 5 [6] 7
76
Programmazione (Gambas 2) / Re: usare correttamente dialog.filter
« 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:

77
Programmazione (Gambas 2) / Re: usare correttamente dialog.filter
« 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!

78
Programmazione (Gambas 2) / Re: usare correttamente dialog.filter
« 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?

79
Programmazione (Gambas 2) / Re: usare correttamente dialog.filter
« 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:

80
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?

81
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 13:26:37 »
ti ringrazio infinitamente  :cappello:  :2birre:
metto risolto nel primo messaggio

82
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 12:47:04 »
ora dovrebbero andare -> qua non mi ero accorto che c'era stato un problema in fase di upload

83
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 12:30:30 »
strano l'avevo anche controllato... va beh
Codice: [Seleziona]
' Gambas class file
'Jungle Audio Player
'Author: Luca Ferrari
'e-mail: luca.120289@gmail.com

STATIC PRIVATE $bDoNotMove AS Boolean
STATIC PRIVATE STOPS AS Boolean
STATIC PRIVATE REPEATS AS Boolean

PUBLIC SUB Menu1_Click()
  DIM audio, length, sini AS String
  DIM sx AS Integer
  Dialog.Title = "Seleziona un file"
  Dialog.Path = User.Home
  IF Dialog.OpenFile() THEN RETURN
    Title.Text = Dialog.Path
    audio = Dialog.Path
    SHELL "mplayer -ao null -ss 24:00:00 -really-quiet -identify " &
        Quote.Shell(audio) & " 2>&1 | grep ID_LENGTH | cut -f2 -d=" WAIT TO length
    sini = Left(length, 3)
    sini = sini + 1
    sx = Val(sini)
    sldPos.MaxValue = sx
    Music.Load(Dialog.Path)
    STOPS = FALSE
    TRY ListView1.Add(Dialog.Path, Dialog.Path)
    IF ERROR
      Message.Info("Elemento già presente nella playlist")
    ENDIF
    Play_Click

CATCH

  Message.Error(Error.Text)

END

PUBLIC SUB Play_Click()

  IF STOPS = TRUE THEN
    Menu1_Click
  ELSE
      timMusic.Delay = 1000
      timMusic.Enabled = TRUE
      Music.Play
  ENDIF

END

PUBLIC SUB Pause_Click()

  Music.Pause

END

PUBLIC SUB Stop_Click()

  Music.Stop
  timMusic.Enabled = FALSE
  lblPos.Text = ""
  sldPos.Value = 0

END

PUBLIC SUB timMusic_Timer()

  DIM iPos AS Integer
  DIM iVal AS Integer
  DIM sPos AS String
  DIM iInd AS Integer

  iPos = Music.Pos
 
  IF NOT $bDoNotMove THEN
    Object.Lock(sldPos)
    IF iPos > sldPos.MaxValue THEN
      sldPos.MaxValue = sldPos.MaxValue * 2
    ENDIF
    sldPos.Value = iPos
    Object.Unlock(sldPos)
  ENDIF
 
  FOR iInd = 0 TO 2

    iVal = iPos MOD 60
    iPos = iPos \ 60
    IF iInd THEN
      sPos = Format(iVal, "00") & ":" & sPos
    ELSE
      sPos = Format(iVal, "00")
    ENDIF

  NEXT

  lblPos.Text = sPos
 
  IF REPEATS = TRUE THEN
    IF Music.Pos = 0 THEN
      timMusic.Enabled = FALSE
      timMusic.Delay = 1000
      timMusic.Enabled = TRUE
      Music.Play
      timMusic.Start
    ENDIF
  ENDIF
END

PUBLIC SUB sldPos_Change()
  Music.Pos = sldPos.Value
END

PUBLIC SUB sldPos_MouseDown()
  $bDoNotMove = TRUE
END

PUBLIC SUB sldPos_MouseUp()
  $bDoNotMove = FALSE
END


PUBLIC SUB Informazioni_Click()
  About.Show
END

PUBLIC SUB Esci_Click()
  QUIT
END

PUBLIC SUB Button1_Click()
  DIM per2 AS Integer
  Music.Volume = Music.Volume + 0.1
  per2 = Music.Volume * 100
  lblVolume.Text = "Volume: " & Format(per2) & "%"
END

PUBLIC SUB Button2_Click()
  DIM per AS Integer
  Music.Volume = Music.Volume - 0.1
  per = Music.Volume * 100
  lblVolume.Text = "Volume: " & Format(per) & "%"
END


PUBLIC SUB Form_Open()
  STOPS = TRUE
  REPEATS = FALSE
  lblVolume.text = "Volume: " & Format(Music.Volume * 100) & "%"
END

PUBLIC SUB Button3_Click()
  IF REPEATS = FALSE THEN
    REPEATS = TRUE
    lblRepeat.Text = "Ripeti"
  ELSE
    REPEATS = FALSE
    lblRepeat.Text = ""
  ENDIF
END

PUBLIC SUB ListView1_Click()
  DIM audio, length, sini, ind AS String
  DIM sx AS Integer
  DIM audio2 AS File
  Message.Info(ListView1.Item.Text)
  ind = ListView1.Item.Text
  Message.Info(ind)
  Music.Load("file://" & ind)
  audio = ListView1.Item.Text
  SHELL "mplayer -ao null -ss 24:00:00 -really-quiet -identify " &
        Quote.Shell(audio) & " 2>&1 | grep ID_LENGTH | cut -f2 -d=" WAIT TO length
  sini = Left(length, 3)
  sini = sini + 1
  sx = Val(sini)
  sldPos.MaxValue = sx
  Title.Text = ListView1.Item.Text
  Play_Click
 
END

PUBLIC SUB save_Click()
  DIM i AS Integer
  DIM playlist AS File
  playlist = OPEN User.Home & "/playlist.txt" FOR CREATE  
  ListView1.MoveFirst
  TRY PRINT #playlist, ListView1.Item.Text
  FOR i = 0 TO ListView1.Count STEP 1
    TRY ListView1.MoveBelow
    TRY PRINT #playlist, ListView1.Item.Text
    IF ERROR  
     TRY PRINT #playlist, ListView1.Item.Text
    ENDIF
  NEXT
  IF ERROR
      Message.Info("Playlist salvata correttamente")
      ENDIF
  CLOSE #playlist
END

PUBLIC SUB clear_Click()
  ListView1.Clear
END

PUBLIC SUB folder2_Click()
  DIM folder AS String
  DIM listfile AS String[]
  DIM i AS Integer
  Dialog.Title = "Seleziona una cartella"
  Dialog.SelectDirectory
  folder = Dialog.Path
  listfile = Dir(folder)
  FOR i = 0 TO (listfile.Count) - 1
    ListView1.Add(i, folder & "/" & listfile[i])
  NEXT
END

PUBLIC SUB Import_Click()
 
 
END

84
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 12:09:43 »
ho messo i sorgenti QUA

85
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 05 Gennaio 2010, 11:35:41 »
niente non ne vuole sapere!!
la porzione di codice è questa
Codice: [Seleziona]
DIM audio2 AS File
Message.Info(ListView1.Item.Text)
ind = ListView1.Item.Text
Message.Info(ind)
audio2.OpenFile("file:///" & ind)

quando arriva ad "audio2.OpenFile" mi spara a video un bel errore che mi avvisa che audio2 vale NULL.
ho messo le Message.Info per verificare che all'interno di quelle variabili ci sia l'indirizzo completo del file ed effettivamente c'è!!

ho provato a dichiarare anche audio2 come Music e mettere al posto di openfile Load ma mi dà lo stesso errore e con Music.Load mi dice che non riesce a leggere da quell'indirizzo...

non sò più dove sbattere la testa :muro:

86
Programmazione (Gambas 2) / Re: inserire lista file in una listview
« il: 04 Gennaio 2010, 18:53:46 »
ok, ho risolto in questo modo
Codice: [Seleziona]
FOR i = 0 TO (listfile.Count) - 1
ListView1.Add(i, folder & "/" & listfile[i])
NEXT

ho dovuto aggiungere quel -1 perchè altrimenti mi segnavala che andavo "out of bounds".

ora sorge un altro problema: quando clicco su un file presente nella listview (in cui è riportato l'indirizzo corretto del file audio) mi si apre un dialog che mi chiede di selezionare il file da aprire, ovviamente questo sarà dovuto al fatto che questo file va aperto prima di poter essere riprodotto!!

nella parte di codice che si occupa di gestire la listview ho scritto:
Codice: [Seleziona]
Music.Load(ListView1.Item.Text)

dove ovviamente ListView1.Item.Text e l'elemento selezionato!
tramite una Message.Info vedo che l'elemento selezionato contiene l'indirizzo giusto ma mi continua ad aprire il dialog per la selezione del file... come posso fare per far si che apra in automatico il file?
ho provato con comandi come Desktop.Open(....) ma niente, ho provato anche altri comandi ma niente...

87
premetto che ho provato a fare qualche ricerca per vedere se l'argomento era già stato trattato ma non ho trovato niente!

dunque il problema è che vorrei far aprire una dialog all'interno del quale l'utente può scegliere una cartella e una volta scelta, all'interno di una listview, vengano inseriti tutti i file all'interno della cartella selezionata!!

ora io sono riuscito ad aprire il dialog per la scelta della directory e tramite il comando "dir" ora ho un array con all'interno il path di tutti i file.
come faccio a mettere queste path all'interno di una listview?

fino ad ora ho fatto questo:
Codice: [Seleziona]
Dialog.SelectDirectory
folder = Dialog.Path
listfile = Dir(folder)
FOR i = 0 TO listfile.Count
ListView1.Add(listfile(i), listfile(i))
NEXT

solo che mi dà errore quando arriva dentro al for... non sò veramente da che parte girarmi!!

88
Programmazione (Gambas 2) / Re: determinare lunghezza file audio
« il: 04 Gennaio 2010, 12:22:41 »
ho già risolto!!

avevo provato con replace ma il problema persisteva allora ho seguito un'altra strada!!

ho preso la parte prima della virgola tramite la funzione "left" di quello ho preso il valore usando la funzione Val(stringa) e a quel valore ho aggiunto 1, in questo modo la barra di progresso ora funziona correttamente!!
ottimo grazie a tutti per la pazienza  :-D

89
Programmazione (Gambas 2) / Re: determinare lunghezza file audio
« il: 04 Gennaio 2010, 11:21:55 »
Val(stringa) mi restituisce null e in stringa sono sicuro che c'è qualcosa

ho capito dove sta il problema... il numero che ritorna dalla funzione che mi hanno postato qua ritorna un numero tipo 214.5 e questo non me lo riesce a convertire (suppongo per via del .) devo risolvere questo problema!

90
Programmazione (Gambas 2) / Re: determinare lunghezza file audio
« il: 04 Gennaio 2010, 10:51:48 »
avrei un ulteriore domanda sempre legata al codice.
ok ora funziona però mi dà il risultato in una stringa e io avrei bisogno di un intero!!

come posso fare? più che altro perchè questa cosa la sò fare in C che conosco bene, in gambas nonostante mi sia scaricato diversi manuali e ho sempre google sott'occhio qualcosa ancora mi sfugge!!

ho pensato di prendere la stringa ottenuta e tramite la funzione "split" farla diventare un array di stringhe cosi da poter convertire elemento per elemento solo che non sò come muovermi all'interno di una stringa (es. in C posso scrivere stringa mentre in gambas non ne vuole sapere, ho provato anche con stringa(i), con qualche vago ricordo di visual basic, ma niente) può andare il mio metodo o c'è un metodo che me lo fa lui istantaneamente tipo java?

Pagine: 1 ... 4 5 [6] 7