Autore Topic: Come scoprire se un percorso contiene un nome di file valido ?  (Letto 199 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.373
  • Ne mors quidem nos iunget
    • Mostra profilo
« 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 Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.162
  • Tonno verde
    • Mostra profilo
Re:Come scoprire se un percorso contiene un nome di file valido ?
« Risposta #1 il: 30 Marzo 2020, 19:23:47 »
Ammesso e non concesso che io abbia capito quello che si vuole ottenere, proporrei questo codice:

Codice: [Seleziona]
Public Sub Main()

  Dim sVar As String = User.Home &/ "<un file esistente>"
  Dim e, s As String
 
  If Exist(sVar) Then
    e = File.Ext(sVar)
    If e Then
      s = File.BaseName(sVar)
      Print "La stringa contiene un file con estensione "; e; " il cui nome è "; s
    Endif
  Else
    Print "Il percorso "; sVar; " non esiste!"
    Return
  Endif

End

Naturalmente funziona solo se il file ha un estensione  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.162
  • Tonno verde
    • Mostra profilo
Re:Come scoprire se un percorso contiene un nome di file valido ?
« Risposta #2 il: 30 Marzo 2020, 19:53:11 »
Mi scuso, ma come già detto il rimbambimento avanza inesorabile  :rolleyes:
Subito avevo pensato che il suggerimento di cogier non fosse corretto perché se il nome del file è sbagliato isDir restituisce comunque false, ma usandolo insieme a exist() funziona perfettamente.

Codice: [Seleziona]
Public Sub Main()

  Dim sVar As String = User.Home &/ "<un file esistente>"
  Dim e, s As String

  If Exist(sVar) Then
    If Not IsDir(sVar) Then
      e = File.Ext(sVar)
      s = File.BaseName(sVar)
      If e Then
        Print "La stringa contiene un file con estensione "; e; " il cui nome è "; s
      Else
        Print "La stringa contiene un file senza estensione il cui nome è "; s
      Endif
    Else
      Print "La stringa contiene solo una directory"
    Endif
  Else
    Print "Il percorso "; sVar; " non esiste!"
  Endif

End

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro