Autore Topic: [RISOLTO]Cattura percorso e nome file in una stringa da una finestra di dialogo.  (Letto 839 volte)

Offline Devil78

  • Gambero
  • **
  • Post: 61
  • L'intelligente ha molti limiti, il demente No!
    • Mostra profilo
Ciao ragazzi, come da titolo, avrei necessità di capire come far scegliere un file che dovrà essere catturato in una stringa per essere , successivamente, usato come comando per la shell. Ho provato ad usare, Filechooser ma, francamente, senza capire come funzioni. Grazie !
« Ultima modifica: 13 Settembre 2014, 10:08:00 da Devil78 »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Cattura percorso e nome file in una stringa da una finestra di dialogo.
« Risposta #1 il: 11 Settembre 2014, 17:04:14 »
Se la tua intenzione è di utilizzare una finestra di dialogo, allora suggerirei la Classe Dialog:

Codice: gambas [Seleziona]
Public Sub Form_Open()

  Dim percorso As String


  With Dialog
    .Filter = ["*.mid", "File Midi"]
    .Title = "Apri un file Midi..."
    If .OpenFile() Then Return
    percorso = .Path
  End With

  Print percorso

  Print "Il nome del file è: "; File.Name(percorso)

End
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Devil78

  • Gambero
  • **
  • Post: 61
  • L'intelligente ha molti limiti, il demente No!
    • Mostra profilo
Re: Cattura percorso e nome file in una stringa da una finestra di dialogo.
« Risposta #2 il: 13 Settembre 2014, 10:06:53 »
Ciao grazie vuott,

Codice: gambas [Seleziona]
    Public Sub Form_Open()  
      
     Dim percorso As String  
      
      
     With Dialog  
       .Filter = ["*.mid", "File Midi"]  
       .Title = "Apri un file Midi..."  
       If .OpenFile() Then Return  
       percorso = .Path  
     End With  
      
     Print percorso  
      
     Print "Il nome del file è: "; File.Name(percorso)  
      
    End  

per farlo funzionare ho dovuto modificarlo così:

Codice: gambas [Seleziona]

 With Dialog  
   .Filter = ["*.wad", "File Wad"]  
   .Title = "Carica Wad Personalizzato"  
   If .OpenFile() Then Return  
   percorso = .Path  
 End With  
  
 sWad = "-iwad " & percorso
 Label1.Text = percorso
 Label1.Tooltip = "Launch" & percorso
 

End
]

Non sono riuscito invece ad usare File.Name in nessuno modo, da come ho interpretato il codice fornitami da te,
Codice: [Seleziona]
percorso
dovrebbe mostrare solo il path mentre
Codice: [Seleziona]
File.Name
il nome del file.
allora pensavo, nel mio caso, la variabile
Codice: [Seleziona]
swad
avrei dovuta dichiaralra così:
Codice: gambas [Seleziona]
sWad = "-iwad "  & percorso & File.Name
ma ricevevo sempre un errore, in quanto
Codice: gambas [Seleziona]
percorso
di mi restituisce il path completo di nome file. Cmq ora funge, Grazie Mille !!
« Ultima modifica: 13 Settembre 2014, 10:09:17 da Devil78 »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.719
  • Ne mors quidem nos iunget
    • Mostra profilo
Se vuoi il solo percorso privo del nome del file, allora devi usare:

Codice: gambas [Seleziona]
File.Dir(percorso)




Vediamo di seguito i tre metodi della Classe "File" che operano sul percorso di un file:
Codice: gambas [Seleziona]
Print File.Dir(percorso)
Print File.BaseName(percorso)
Print File.Ext(percorso)
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Devil78

  • Gambero
  • **
  • Post: 61
  • L'intelligente ha molti limiti, il demente No!
    • Mostra profilo
Chiarissimo e preciso come sempre!! Grazie !