Dir

Da Gambas-it.org - Wikipedia.

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