Differenze tra le versioni di "Estrarre il percorso di un file"

Da Gambas-it.org - Wikipedia.
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Per estrarre e conoscere il percorso ove è posto un file, scelto mediante l'apposita finestra di dialogo per l'apertura dei file, si potrà usare il metodo ''.Dir'' della Classe ''File'', il quale consente di individuare, appunto, il <SPAN style="text-decoration:underline">solo</span> percorso di un file escludendone il nome e l'estensione. Tale funzione va utilizzata congiuntamente al metodo ''.Path'' della Classe ''Dialog'', che restituisce il percorso, il nome e l'estensione del file prescelto.
+
Per ottenere il solo percorso ove è posto un file, possiamo adottare almeno un paio di modalità.
  
 
+
===Uso delle sole risorse di Gambas con il Metodo ".Dir()" della Classe ''File''===
Si scriverà dunque quanto segue:
+
Facciamo un esempio, nel quale per conoscere il percorso di un file, scelto mediante l'apposita finestra di dialogo per l'apertura dei file, si userà il metodo ''.Dir'' della Classe ''File''. Detto Metodo consente di individuare, appunto, il <SPAN style="text-decoration:underline">solo</span> percorso di un file escludendone il nome e l'estensione. Tale funzione va utilizzata congiuntamente alla proprietà ''.Path'' della Classe ''Dialog'', che restituisce il percorso, il nome e l'estensione del file prescelto.
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
 
   Dim s As String
 
   Dim s As String
 
   
 
   
  <FONT color=#006400>' ''Apriamo la finestra di dialogo per scegliere e caricare il file:''</font>
+
  <FONT Color=gray>' ''Apre la finestra di dialogo per scegliere e caricare il file:''</font>
    If Dialog.Openfile() then Return
+
  If Dialog.Openfile() then Return
 +
 +
<FONT Color=gray>' ''Individua il <SPAN style="text-decoration:underline">solo</span> percorso del file:''</font>
 +
  s = File.Dir(Dialog.Path)
 +
 +
  Print "Il percorso del file scelto è: "; s
 +
 +
'''End'''
 +
 
 +
 
 +
===Uso della funzione esterna "dirname()"===
 +
Questa modalità fa uso della funzione esterna ''dirname( )'' dichiarata nel file header "''/usr/include/libgen.h''". Sarà necessario richiamare in Gambas la libreria condivisa: "''libc6.so.6'' ".
 +
 
 +
Vediamo un semplice esempio pratico:
 +
Library "libc:6"
 
   
 
   
  <FONT color=#006400>' ''La funzioneApriamo la finestra di dialogo per scegliere e caricare il file:''</font>
+
  <FONT Color=gray>' ''char *dirname (char *__path)''
    s = File.Dir(Dialog.Path)
+
' ''Return directory part of PATH or "." if none is available.''</font>
 +
Private Extern dirname(__path As String) As String
 
   
 
   
    Print "Il percorso del file scelto è: "; s
 
 
   
 
   
 +
'''Public''' Sub Main()
 +
 
 +
  Dim s As String
 +
 
 +
  s = dirname("<FONT Color=gray>''/percorso/del/file''</font>")
 +
 
 +
  Print s
 +
 
 
  '''End'''
 
  '''End'''

Versione attuale delle 08:00, 18 mag 2023

Per ottenere il solo percorso ove è posto un file, possiamo adottare almeno un paio di modalità.

Uso delle sole risorse di Gambas con il Metodo ".Dir()" della Classe File

Facciamo un esempio, nel quale per conoscere il percorso di un file, scelto mediante l'apposita finestra di dialogo per l'apertura dei file, si userà il metodo .Dir della Classe File. Detto Metodo consente di individuare, appunto, il solo percorso di un file escludendone il nome e l'estensione. Tale funzione va utilizzata congiuntamente alla proprietà .Path della Classe Dialog, che restituisce il percorso, il nome e l'estensione del file prescelto.

Public Sub Button1_Click()

 Dim s As String

' Apre la finestra di dialogo per scegliere e caricare il file:
 If Dialog.Openfile() then Return

' Individua il solo percorso del file:
 s = File.Dir(Dialog.Path)

 Print "Il percorso del file scelto è: "; s

End


Uso della funzione esterna "dirname()"

Questa modalità fa uso della funzione esterna dirname( ) dichiarata nel file header "/usr/include/libgen.h". Sarà necessario richiamare in Gambas la libreria condivisa: "libc6.so.6 ".

Vediamo un semplice esempio pratico:

Library "libc:6"

' char *dirname (char *__path)
' Return directory part of PATH or "." if none is available.
Private Extern dirname(__path As String) As String


Public Sub Main()
 
 Dim s As String
 
 s = dirname("/percorso/del/file")
  
 Print s
  
End