Differenze tra le versioni di "Dir"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
La funzione '''Dir''' restituisce un array stringa contenente i nomi dei file presenti nella cartella puntata aventi le caratteristiche indicate nel secondo parametro. Se non viene specificato tale parametro, verranno restituiti tutti i file presenti nella ''Directory''. E' previsto, inoltre, un terzo parametro, relativo alle costanti previste dalla Classe ''gb'', per poter specificare il tipo di file che dovrà essere restituito. Se tale filtro non viene specificato,  vengono restituiti tutti i file e tutte le cartelle.
 
La funzione '''Dir''' restituisce un array stringa contenente i nomi dei file presenti nella cartella puntata aventi le caratteristiche indicate nel secondo parametro. Se non viene specificato tale parametro, verranno restituiti tutti i file presenti nella ''Directory''. E' previsto, inoltre, un terzo parametro, relativo alle costanti previste dalla Classe ''gb'', per poter specificare il tipo di file che dovrà essere restituito. Se tale filtro non viene specificato,  vengono restituiti tutti i file e tutte le cartelle.
 
+
  Dir(Directory AS String [ , Pattern AS String , Filter AS Integer ]) AS String[]
  Dir(Directory AS String [ , 2° parametro AS String , 3° parametro AS Integer ]) AS String[]
 
 
 
 
 
 
Poniamo come esempio di avere una cartella, chiamata ''cartella'', nel percorso ''/tmp''. All'interno di questa cartella vi sono tre file con estensione ''.jpg'' e tre file con estensione ''.txt''. Intendiamo individuare soltanto i file aventi estensione ''.jpg''. Possiamo adottare un codice come il seguente:
 
Poniamo come esempio di avere una cartella, chiamata ''cartella'', nel percorso ''/tmp''. All'interno di questa cartella vi sono tre file con estensione ''.jpg'' e tre file con estensione ''.txt''. Intendiamo individuare soltanto i file aventi estensione ''.jpg''. Possiamo adottare un codice come il seguente:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim s As String
 
   Dim s As String
 
   
 
   
 
  <FONT color=gray>' ''Raccoglie ogni singolo contenuto presente nel percorso ''/tmp/cartella/'' avente l'estensione ".jpg" e che sia un "file":''</font>
 
  <FONT color=gray>' ''Raccoglie ogni singolo contenuto presente nel percorso ''/tmp/cartella/'' avente l'estensione ".jpg" e che sia un "file":''</font>
  For Each s In Dir("/tmp/cartella", "*.jpg", gb.File)
+
  For Each s In Dir("/tmp/cartella", "*.jpg", gb.File)
    Print s
+
    Print s
  Next
+
  Next
 +
 +
End
 +
 
 +
 
 +
==Inserire nel 2° parametro più estensioni di file==
 +
Il 2° parametro della funzione "Dir()" sembrerebbe prevedere l'inserimento di un solo tipo di file, di una sola estensione di file.
 +
<BR>In realtà è possibile far prelevare dalla funzione "Dir()" anche file aventi due o più estensioni diverse, usando la stringa per il parametro ''Pattern'' proposta dalla Wiki del forum tedesco di Gambas: <SUP>&#091;[[#Note|nota 1]]&#093;</sup>
 +
Public Sub Main()
 +
 +
  Dim percorsoDir, nomefile As String
 +
 +
  percorsoDir = "<FONT color=gray>''/percorso/della/cartella/conenente/i/file''</font>"
 +
 +
  For Each nomefile In Dir(percorsoDir, "<FONT color=#B22222>[^0-9P]*.{png,jpg,gif}</font>", gb.File)
 +
    Print nomefile
 +
  Next
 
   
 
   
  '''End'''
+
  End
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Vedere la funzione "Dir()" nella seguente pagina: https://gambas-buch.de/dwen/doku.php?id=k6:k6.3:start

Versione delle 13:20, 10 giu 2023

La funzione Dir restituisce un array stringa contenente i nomi dei file presenti nella cartella puntata aventi le caratteristiche indicate nel secondo parametro. Se non viene specificato tale parametro, verranno restituiti tutti i file presenti nella Directory. E' previsto, inoltre, un terzo parametro, relativo alle costanti previste dalla Classe gb, per poter specificare il tipo di file che dovrà essere restituito. Se tale filtro non viene specificato, vengono restituiti tutti i file e tutte le cartelle.

Dir(Directory AS String [ , Pattern AS String , Filter AS Integer ]) AS String[]

Poniamo come esempio di avere una cartella, chiamata cartella, nel percorso /tmp. All'interno di questa cartella vi sono tre file con estensione .jpg e tre file con estensione .txt. Intendiamo individuare soltanto i file aventi estensione .jpg. Possiamo adottare un codice come il seguente:

Public Sub Main()

 Dim s As String

' Raccoglie ogni singolo contenuto presente nel percorso /tmp/cartella/ avente l'estensione ".jpg" e che sia un "file":
 For Each s In Dir("/tmp/cartella", "*.jpg", gb.File)
   Print s
 Next

End


Inserire nel 2° parametro più estensioni di file

Il 2° parametro della funzione "Dir()" sembrerebbe prevedere l'inserimento di un solo tipo di file, di una sola estensione di file.
In realtà è possibile far prelevare dalla funzione "Dir()" anche file aventi due o più estensioni diverse, usando la stringa per il parametro Pattern proposta dalla Wiki del forum tedesco di Gambas: [nota 1]

Public Sub Main()

 Dim percorsoDir, nomefile As String

 percorsoDir = "/percorso/della/cartella/conenente/i/file"

 For Each nomefile In Dir(percorsoDir, "[^0-9P]*.{png,jpg,gif}", gb.File)
   Print nomefile
 Next

End


Note

[1] Vedere la funzione "Dir()" nella seguente pagina: https://gambas-buch.de/dwen/doku.php?id=k6:k6.3:start